Implementar controle de versão seria uma tarefa simples se você trabalhasse somente como desenvolvedor individual com um repositório local. No entanto, esse não é o caso de muitos projetos profissionais. Em vez disso, uma equipe reunirá recursos em um repositório remoto usando uma plataforma como o GitHub. Sendo assim, é importante aprender a fazer push para o GitHub, pois isso se tornará parte do seu fluxo de trabalho.

Neste artigo, mostraremos como fazer push para o GitHub usando a linha de comando, e exploraremos também aplicativos dedicados que podem tornar o processo mais tranquilo. Além disso, no final, discutiremos por que pull requests (solicitações de pull) são algo que você deve aprender, e como elas se relacionam com o envio de código. Primeiro, vamos examinar como você pode usar o GitHub em seus projetos.

Como um desenvolvedor ou programador usará o GitHub

O GitHub é uma ferramenta essencial para desenvolvedores e programadores de todo o mundo por vários motivos. Ele permite que você armazene seu código em um local centralizado, o que facilita o acesso e oferece maior colaboração com outros desenvolvedores.

A logo do GitHub.
A logo do GitHub.

Você também pode acompanhar as alterações feitas no seu código e reverter para versões anteriores, caso necessário. Além disso, o GitHub fornece ferramentas que ajudam a gerenciar problemas e bugs, o que facilita a manutenção da sua base de código.

A colaboração é um dos principais motivos pelos quais você talvez escolha usar o GitHub como o seu sistema de controle de versão (VCS) remoto. Ele permite compartilhar código, rastrear alterações e colaborar para resolver problemas sem muita complicação. Isso pode aumentar a eficiência, levando a uma melhor qualidade do código.

O GitHub também fornece uma maneira fácil de gerenciar várias versões de uma base de código, rastrear alterações e revertê-las, se for preciso. Projetos extensos e esforços colaborativos de código aberto são apenas duas das maneiras pelas quais o GitHub demonstra seu valor.

Ele pode ser ideal até mesmo para usos simples. Por exemplo, você pode armazenar o código do seu projeto de desenvolvimento web e fazer push de atualizações remotas à medida que fizer alterações. Além disso, os projetos de integração contínua/implantação contínua (CI/CD) se beneficiarão da automação na forma de GitHub Actions durante as fases de build.

Exemplo de como o GitHub Actions se encaixa em um fluxo de trabalho.
Exemplo de como o GitHub Actions se encaixa em um fluxo de trabalho.

No geral, o GitHub — assim como outros provedores de hospedagem remotos de controle de versão, como o GitLab — oferece uma plataforma para colaboração, controle de versão e outros fluxos de trabalho de desenvolvimento. Isso pode ajudar a acelerar o processo de desenvolvimento e melhorar a qualidade do código. Assim, você desejará aprender como fazer push para o GitHub, porque esse conhecimento lhe trará benefícios quase todos os dias.

Como fazer push para o GitHub pelo terminal (linha de comando)

O restante deste artigo mostrará a você como fazer push para o GitHub. Trata-se de um processo simples de entender e executar.

No entanto, você precisa ter certeza de que configurou seu projeto com antecedência, pois, caso contrário, encontrará erros. Em nossa primeira seção veremos de quais ferramentas e habilidades você precisa, e então analisaremos em detalhes o processo em si.

Do que você precisa para fazer push para o GitHub

É importante garantir que seu projeto esteja configurado para suportar o uso de repositório remoto e a integração do push ao fluxo de trabalho. Assim, antes de mais nada, você precisa de um repositório Git — um “repo” para armazenar seu código. Considere isso como uma pasta que contém os arquivos associados ao seu projeto.

Todo o processo de controle de versão começa em um ambiente local no seu computador. Apresentaremos os passos exatos para fazer isso mais adiante, mas talvez você já tenha esse conhecimento (ou saiba onde acessá-lo).

Você também precisa de uma conta no GitHub. Na verdade, você também pode usar outra hospedagem VCS on-line, como GitLab, BitBucket, Buddy e outros. As instruções que fornecemos aqui são, na maior parte, aplicáveis a outras plataformas. No entanto, a comparação desses provedores está além do escopo deste artigo.

Para fazer push do seu código para o GitHub, você tanto pode usar a linha de comando quanto uma interface gráfica de usuário (GUI). A maior parte do nosso artigo será sobre o fluxo de trabalho por linha de comando, mas também existe uma seção sobre o uso de GUI, visto que algumas são populares também. No entanto, observe que cada GUI pode ter um processo diferente para fazer push para GitHub, o que significa que você precisa se ater a um aplicativo específico para aproveitá-lo ao máximo.

Por fim, certifique-se de que possui o acesso correto ao seu repositório. A documentação do GitHub aqui é abrangente, e você deve procurar por tokens de acesso HTTPS ou acesso Secure Shell (SSH). Sem isso, você não conseguirá realizar nenhum trabalho!

1. Crie um repositório do GitHub

O primeiro passo é criar um novo repositório on-line no GitHub. Embora você possa fazer isso a partir da linha de comando, é igualmente simples fazer isso em um navegador de internet.

Após fazer o login ou se inscrever no GitHub, vá para o canto superior direito da tela e procure o menu suspenso + ao lado do seu avatar de perfil. Ao abri-lo, ele mostrará algumas opções que incluem New repository:

Opção para criar um novo repositório no GitHub.
Opção para criar um novo repositório no GitHub.

Ao clicar nessa opção, você irá para a página Create a new repository. Isso mostrará várias opções de configuração para o seu repositório remoto:

Criando um novo repositório.
Criando um novo repositório.

As opções que você definir aqui serão exclusivas para as necessidades do seu projeto. No entanto, se você já tiver um repositório local para fazer push para o GitHub, deve marcar o mínimo possível de opções para manter a paridade entre local e remoto.

Aqui, clique no botão Create repository, e o GitHub configurará tudo sozinho. Nesse ponto, você chega à página inicial do repositório, com instruções sobre como configurar um novo repositório local vinculado ao repositório remoto usando a linha de comando. O caminho que você irá seguir depende do caso: se você ainda não tem um repositório, ou gostaria de clonar o conteúdo de um projeto existente.

Se você já inicializou o Git e preencheu seu repositório local, não precisará executar o passo dois. Pode ir direto para o terceiro, no qual veremos como enviar o código para o GitHub a partir do seu repositório local.

2. A. Clone seu repositório Git remoto

Se você ainda não tiver um repositório local, a versão GitHub será a única. A melhor maneira de sincronizar os dois locais é usar o comando git clone em seu computador. No entanto, você precisa da URL do seu repositório.

Para obtê-la, acesse o repositório no GitHub e procure a opção suspensa Code em verde acima da sua lista de arquivos:

Abrindo o menu suspenso Code no GitHub.
Abrindo o menu suspenso Code no GitHub.

Caso você não veja essa opção, provavelmente é porque ainda não possui um repositório preenchido. Observe que você pode copiar a URL do repositório da caixa azul Quick Setup na parte superior da tela. Só mude para HTTPS usando os botões e copie a URL.

Usando o Quick Setup para copiar um endereço URL de repositório no GitHub.
Usando o Quick Setup para copiar um endereço URL de repositório no GitHub.

No entanto, preferimos gerar um arquivo .gitignore, pois você precisará dele de qualquer forma. Você pode usar o gitignore.io para pesquisar as ferramentas que usa e, a partir daí, gerar um arquivo .gitignore completo para carregar para o repositório:

O site gitignore.io.
O site gitignore.io.

Independentemente disso, quando você puder abrir o menu suspenso Code, ele mostrará as URLs do seu repositório. Você terá opções para HTTPS, Secure Shell (SSH) e outras. No entanto, a abordagem mais direta é usar a URL HTTPS. Você pode clicar no pequeno ícone Copy ao lado da URL em questão para copiá-la para a sua área de transferência.

Em seguida, volte ao terminal ou aplicativo de linha de comando e execute o seguinte:

git clone <full-github-url>

Quando você executar o comando, o Git copiará o repositório remoto para o seu ambiente local.

2. B. Inicialize o Git na sua pasta local do projeto

Para situações em que você ainda não tem uma versão local do seu repositório remoto, é necessário inicializar uma. A maior parte do trabalho que você fará será local, com o envio das alterações para o servidor remoto a intervalos regulares. Aqui estão os passos:

  • Primeiro, cd para uma pasta que você gostaria de usar em seu projeto.
  • Em seguida, execute o comando git init. Isso vai inicializar o Git na pasta local do projeto e criar um diretório .git oculto.
  • Adicione o arquivo .gitignore à raiz da pasta local do seu projeto, pois você não desejará realizar algumas alterações relacionadas aos arquivos do sistema.

Neste ponto, você precisa indexar os arquivos atuais. Faça isso da maneira típica, usando git add, e então faça commit das alterações:

git add .

git commit -m “Initial Commit”

git branch -M trunk

A última linha muda o nome do seu branch principal para algo da sua escolha, caso você ainda não tenha mudado do nome “master”, que possui conotações negativas relacionadas à escravidão. Aqui usamos “trunk”, mas “main” também é aceitável. Se você sabe que essa linha não é necessária, pode omiti-la.

Agora você está pronto para aprender como fazer push para o GitHub!

3. Adicione uma nova origem remota e faça push do seu código para o GitHub

Após criar um novo repositório remoto no GitHub, você precisa adicionar uma nova “origem remota” ao seu repositório local. Basicamente, esse é o link para o seu repositório remoto, para que você saiba para onde enviar as alterações upstream.

Para fazer isso, digite o seguinte comando em seu terminal:

git remote add origin <github-url>

Em sentido técnico, o remoto que você adiciona pode ter qualquer nome. No entanto, a maioria o chama de “origem”, pois você usa apenas um remote add, o que fica perfeitamente claro. Nesse ponto, você pode fazer push para o GitHub usando o seguinte:

git push -u origin trunk

Esse comando fará push do seu código para a nova origem remota — denominada “origin” — e definirá o branch upstream como “trunk”. Você também pode fazer push de qualquer branch para o repositório remoto, se precisar.

Executando um comando git push no terminal.
Executando um comando git push no terminal.

Quando o processo for concluído, você precisará verificar se o push foi bem-sucedido. Existem algumas maneiras de fazer isso. Por exemplo, você pode acessar o repositório no GitHub e verificar se as alterações estão ativas:

Verificando o status de um repositório Git no GitHub.
Verificando o status de um repositório Git no GitHub.

No entanto, você também pode executar git log na linha de comando:

Executando um comando git log no terminal e visualizando a saída.
Executando um comando git log no terminal e visualizando a saída.

Esse comando exibe cada commit do seu repositório, inclusive o que você acabou de enviar. Dessa forma, se o commit estiver no registro, o push foi bem-sucedido.

Como fazer push para o GitHub sem erros

Em alguns casos, você pode encontrar um erro ao tentar fazer push do código para o GitHub:

Recebendo um erro de chave RSA após executar um git push.
Recebendo um erro de chave RSA após executar um git push.

Isso acontece quando você já tem uma conexão segura com o GitHub por meio de um projeto antigo, mas usando uma chave RSA antiga. Temos um guia sobre como corrigir esse problema em geral. No entanto, para corrigir isso especificamente para o GitHub, você pode executar o seguinte:

ssh-keygen -R github.com

Isso atualizará seu arquivo “known hosts”, e então exibirá uma mensagem de confirmação:

Removendo uma chave host antiga usando o terminal.
Removendo uma chave host antiga usando o terminal.

A partir daqui, execute o seguinte para adicionar a nova chave RSA ao seu arquivo de hosts conhecidos:

curl -L https://api.github.com/meta | jq -r '.ssh_keys | .[]' | sed -e 's/^/github.com /' >> ~/.ssh/known_hosts

Na verdade, você também pode ver um erro aqui, relacionado ao pacote jq. Se esse for o caso, pode executar um dos seguintes procedimentos, dependendo do seu sistema operacional:

  • Windows: curl -L -o /usr/bin/jq.exe https://github.com/stedolan/jq/releases/latest/download/jq-win64.exe
  • Mac: brew install jq
  • Linux: apt-get update | apt-get -y install jq

Depois que isso for instalado, execute o comando novamente e aguarde a conclusão:

Criando uma nova chave RSA usando o terminal.
Criando uma nova chave RSA usando o terminal.

Enfim, você pode executar o comando git push novamente e, dessa vez, deverá ver o processo concluído. Caso contrário, o problema provavelmente se deve a chaves SSH incorretas, ou mesmo à necessidade de configurar conexões seguras usando chaves dedicadas. Temos um guia completo sobre como gerar novas chaves SSH para o GitHub, e a documentação do GitHub também é abrangente aqui.

Usando uma GUI para fazer push do seu código para o GitHub

Embora o processo de envio de código para o GitHub seja simples, uma vez configurado, existem muitas etapas, condições e subprocessos a serem considerados. Uma GUI pode simplificar o processo.

Por exemplo, você tem toda a funcionalidade da linha de comando, mas usando uma interface mais agradável (com drag and drop em alguns casos). Além disso, geralmente é mais fácil visualizar e gerenciar as alterações por meio de uma GUI, especialmente se você não estiver familiarizado com as ferramentas de linha de comando.

Se você souber que nunca precisará usar seu aplicativo GUI para acessar outra hospedagem VCS remota, talvez o GitHub Desktop seja perfeito.

O aplicativo GitHub Desktop.
O aplicativo GitHub Desktop.

O aplicativo permite criar e gerenciar repositórios, fazer commit de alterações e fazer push dessas alterações para o GitHub com apenas alguns cliques. Ele funciona usando a funcionalidade drag and drop e também tem uma ferramenta de “comparação visual” que simplifica a identificação de alterações de código entre versões:

Visualizando diferenças em um commit usando o GitHub Desktop.
Visualizando diferenças em um commit usando o GitHub Desktop.

O Sourcetree é outra GUI Git popular que analisamos em nosso resumo de ferramentas de desenvolvimento web. Embora o VCS preferido seja o BitBucket (por ser um produto da Atlassian), ainda assim dá pra usar a ferramenta com o GitHub. A ferramenta de resolução de conflitos de mesclagem também é útil, sendo um dos seus recursos de destaque.

O GitKraken é presumivelmente o aplicativo GUI com melhor visual, e oferece uma versão gratuita razoável para repositórios locais e públicos. Oferece suporte a todas as principais hospedagens VCS — GitHub, é claro, mas também GitLab e BitBucket, entre outros. Gostamos muito da representação visual do seu repositório, e a solução também oferece uma funcionalidade inteligente para equipes.

Usando o GitHub Desktop para fazer push para o GitHub

Ao passo que o processo para cada aplicativo é um pouco diferente, o GitHub Desktop é o elegante. Você trabalha em uma única tela que usa várias janelas e painéis. Após fazer uma alteração em um arquivo (que você pode abrir no editor da sua escolha usando o menu de contexto que aparece clicando com o botão direito do mouse), você faz o commit usando um pequeno widget na tela:

Fazendo o commit de uma alteração no GitHub Desktop.
Fazendo o commit de uma alteração no GitHub Desktop.

Esse commit se tornará parte da seção Push Origin na barra de ferramentas superior. Se você não tiver nenhuma alteração para fazer commit, também haverá uma notificação para fazer o push dos seus commits para a origem remota:

Fazendo o push de alterações para a origem remota pelo GitHub Desktop.
Fazendo o push de alterações para a origem remota pelo GitHub Desktop.

Essa é uma solução de um clique para fazer push das alterações no seu repositório do GitHub. Todo o fluxo de trabalho é rápido, suave e simples de executar.

Usando a Hospedagem de Aplicativos da Kinsta e o GitHub

Se você é um cliente Kinsta, pode trazer todos os seus aplicativos para a nossa Hospedagem de Aplicativos e Banco de Dados, que permite que você implante praticamente qualquer aplicativo usando várias linguagens, como PHP, Node, Python e muito mais. Você se conecta ao GitHub sem a necessidade de usar uma série de comandos Git.

Para começar, faça login no seu painel Kinsta e navegue até a tela Aplicativos. Ela parecerá vazia quando você a acessar pela primeira vez:

A página Aplicativos no painel MyKinsta.
A página Aplicativos no painel MyKinsta.

No entanto, se você clicar no botão Adicionar serviço, terá a opção de implantar um aplicativo ou um banco de dados. Para este exemplo, escolheremos Aplicativo:

Adicionando um novo serviço usando o botão relevante na tela Aplicativos da Kinsta.
Adicionando um novo serviço usando o botão relevante na tela Aplicativos da Kinsta.

A Kinsta solicitará que você se conecte ao GitHub para importar repositórios da plataforma:

Escolhendo integração com o GitHub ao adicionar um novo serviço.
Escolhendo integração com o GitHub ao adicionar um novo serviço.

O assistente que segue o ajudará a configurar seu aplicativo. Primeiro você precisa escolher um repositório do GitHub, e então selecionar o branch padrão:

Configurando os detalhes para a implantação do aplicativo usando o assistente Adicionar aplicativo no painel MyKinsta.
Configurando os detalhes para a implantação do aplicativo usando o assistente Adicionar aplicativo no painel MyKinsta.

Você também precisa dar um nome ao seu aplicativo no MyKinsta e selecionar um centro de dados. Após clicar em Continuar, você precisa ajustar as configurações do ambiente de build:

Definindo as opções do ambiente de build no assistente de implantação do MyKinsta.
Definindo as opções do ambiente de build no assistente de implantação do MyKinsta.

Aqui, você tem algumas opções:

  • Escolher uma máquina de build da lista.
  • Configurar uma imagem de contêiner, usando automação ou a partir de um caminho específico que você já tenha.

Depois disso, você precisa configurar seus recursos e processos. Nossos exemplos de início rápido incluem os processos da internet mais relevantes de que você vai precisar, mas você também pode configurar os seus próprios. Observe que você pode ter tantos processos quantos o seu orçamento permitir:

Especificando recursos na tela do assistente Adicionar aplicativo.
Especificando recursos na tela do assistente Adicionar aplicativo.

Após visualizar os custos mensais de uso, você pode fazer o pagamento. Nesse ponto, você pode usar a Hospedagem de Aplicativos completa com integração com o GitHub. Há muito mais para descobrir sobre a Hospedagem de Aplicativos e de Banco de Dados, e nossa documentação é abrangente e detalhada.

Resumo

O GitHub é uma ferramenta essencial para desenvolvedores e programadores. Ele fornece um repositório centralizado para armazenar, rastrear e colaborar com o código. Após aprender a fazer push do seu código para o GitHub a partir de um repositório local, você poderá participar dessa colaboração.

Usando a linha de comando, é simples fazer push do seu código para o GitHub, e você só precisará de alguns comandos após configurar tudo. No entanto, você pode querer um aplicativo GUI dedicado, como o GitKraken ou o GitHub Desktop. Eles podem eliminar a linha de comando da equação, permitindo executar quase todas as tarefas de que você precise com o Git a partir de uma interface familiar.

Além disso, o GitHub é excelente em combinação com a Hospedagem de Aplicativos e Bancos de Dados de primeira linha da Kinsta. Isso permite conectar seu repositório GitHub à nossa rede de 25 centros de dados e oferecer suporte a uma infinidade de frameworks diferentes. Também, o preço baseado em recursos é competitivo e está ao alcance da maioria das pessoas!

Você tem alguma dúvida sobre como fazer push para o GitHub? Faça já sua pergunta na seção de comentários abaixo!

Jeremy Holcombe Kinsta

Content & Marketing Editor at Kinsta, WordPress Web Developer, and Content Writer. Outside of all things WordPress, I enjoy the beach, golf, and movies. I also have tall people problems ;).