Base de conhecimento

Sincronização bidirecional com o seu repositório GitHub

As alterações feitas em seu site se transformam em commits em seu próprio repositório, e o que você envia para lá é publicado no seu site. É gratuito, e é isto que acontece quando ambos os lados mudam ao mesmo tempo.

Conecte sua própria conta do GitHub a um site e manteremos ambos sincronizados nas duas direções. É gratuito, fica desativado até que você o ligue e nós só fazemos commit em um repositório de uma conta que você possui — nunca em uma nossa.

O que é sincronizado

Qualquer alteração feita nos arquivos do seu site se torna um commit no seu repositório, não importa como você a tenha feito: pelo gerenciador de arquivos, SFTP, editor de temas do WordPress ou uma sessão SSH. Você não precisa nos avisar — comparamos seu site com o último commit dele e enviamos a diferença.

No sentido oposto, um push para a sua branch conectada é aplicado ao site.

O que nunca enviamos para commit

O seu wp-config.php é excluído, de forma deliberada e permanente. Ele armazena a senha do seu banco de dados e os salts de autenticação, e eles não pertencem a um repositório — nem mesmo a um privado, porque o git mantém o histórico para sempre.

Também excluídos: arquivos .env, chaves e certificados, sua pasta de uploads, caches e node_modules. Um repositório é o código-fonte do seu site, não um backup. A mídia pertence aos seus backups, onde já é guardada, e colocá-la aqui tornaria cada push lento e cada alteração ilegível.

O que acontece se ambos os lados mudarem

Esta é a pergunta que vale a pena ler. Digamos que você edite um arquivo no gerenciador de arquivos e, enquanto isso, um colega envie uma alteração para o mesmo repositório.

Nós paramos. Nós não fazemos merge e não sobrescrevemos ninguém. A aba Implantar (Deploy) do site mostra "O seu repositório tem alterações que ainda não vimos", indica o commit que você precisa verificar e aguarda você. Nada é perdido em nenhum dos lados enquanto estiver aguardando — sua edição ainda está no site, o commit deles ainda está no repositório.

Você então escolhe:

  • Manter os arquivos deste site — colocamos a sua versão por cima da deles. Os commits deles permanecem no histórico; nada é apagado.
  • Usar o repositório, descartar alterações do site — a versão do repositório é aplicada ao site, e as alterações que você havia feito aqui são descartadas. Esta opção é destrutiva, e por isso exige um clique deliberado e nunca é algo que fazemos em seu nome.

Não há nenhuma opção de "fazer merge automaticamente", de propósito. Um merge realizado por nós produziria um arquivo que nenhum de vocês escreveu, em um site ativo, sem que nenhum dos dois o visse primeiro.

Por que a sincronização pode parar

  • Você não conectou sua própria conta do GitHub. O botão permanece desativado até que você o faça.
  • O sistema está aguardando você. Veja acima — uma pausa não se resolve sozinha.
  • Sua conta não está em dia. A sincronização é pausada e retoma sozinha assim que o faturamento estiver em dia. Nada é perdido.

A aba Implantar (Deploy) mostra as últimas sincronizações, incluindo aquelas em que nada havia mudado. Se essa lista estiver vazia e a sincronização estiver ativada, o mais provável é que a conta conectada não tenha permissão de gravação no repositório — verifique o acesso dela e reconecte.

Como escolher o que é sincronizado

Por padrão, o site inteiro é sincronizado. Em um site WordPress, geralmente isso não é o que você deseja: significa cada arquivo do núcleo do WordPress, que você não escreveu e não vai editar. Defina "Sincronizar apenas esta pasta" para o seu tema — por exemplo, wp-content/themes/my-theme — e o restante não é alterado.

Ainda com problemas?

O suporte está incluído em todos os planos com respostas no seu próprio idioma.

Contatar o suporte Todos os artigos