Publicamos atualizações frequentes em nossa documentação, e a tradução desta página ainda pode estar em andamento. Para obter as informações mais recentes, acesse a documentação em inglês. Se houver problemas com a tradução desta página, entre em contato conosco.

Esta versão do GitHub Enterprise foi descontinuada em 2020-11-12. Nenhum lançamento de patch será feito, mesmo para questões críticas de segurança. Para obter melhor desempenho, melhorar a segurança e novos recursos, upgrade to the latest version of GitHub Enterprise. Para ajuda com a atualização, contact GitHub Enterprise support.

Fazer push de commits para um repositório remote

Use git push para fazer push de commits de seu branch local para um repositório remote.

Neste artigo

O comando git push usa dois argumentos:

  • Um nome de remote, por exemplo, origin
  • Um nome de branch, por exemplo, principal

Por exemplo:

git push  <REMOTENAME> <BRANCHNAME> 

Como exemplo, você normalmente executa o git push origin main para fazer push das suas alterações locais para o seu repositório on-line.

Renomear branches

Para renomear um branch, você usaria o mesmo comando git push, mas adicionaria mais um argumento: o nome do novo branch. Por exemplo:

git push  <REMOTENAME> <LOCALBRANCHNAME>:<REMOTEBRANCHNAME> 

Isso faz push do LOCALBRANCHNAME para seu REMOTENAME, mas ele é renomeado para REMOTEBRANCHNAME.

Lidar com erros "non-fast-forward"

Se a cópia local de um repositório não está sincronizada, ou está "atrasada", com o repositório upstream que você está fazendo push, você receberá uma mensagem informando que non-fast-forward updates were rejected (as atualizações non-fast-forward foram rejeitadas). Isso significa que você deve recuperar ou fazer "fetch" das alterações upstream, antes de conseguir fazer push das alterações locais.

Para obter mais informações sobre esse erro, consulte "Lidar com erros non-fast-forward".

Fazer push de tags

Por padrão, e sem parâmetros adicionais, git push envia todos os branches correspondentes que têm os mesmos nomes de branches remote.

Para fazer push de uma única tag, você pode usar o mesmo comando usado para fazer push de um branch:

git push  <REMOTENAME> <TAGNAME> 

Para fazer push de todas as suas tags, digite o comando:

git push  <REMOTENAME> --tags

Excluir uma tag ou branch remote

À primeira vista, a sintaxe para excluir um branch é um pouco enigmática:

git push  <REMOTENAME> :<BRANCHNAME> 

Observe que há um espaço antes dos dois pontos. O comando se parece com as mesmas etapas que você usaria para renomear um branch. No entanto, aqui você está dizendo ao Git para fazer push de nada no BRANCHNAME em REMOTENAME. Por causa disso, git push exclui o branch no repositório remote.

Remotes e bifurcações

Você já deve saber que é possível "bifurcar" repositórios no GitHub.

Ao clonar um repositório de sua propriedade, você fornece um URL remoto que informa o Git onde fazer fetch e push de atualizações. Se deseja colaborar com o repositório original, você deve adicionar uma nova URL remota, normalmente denominado upstream, em seu clone do Git local:

git remote add upstream  <THEIR_REMOTE_URL> 

Agora, é possível fazer fetch de atualizações e branches da bifurcação deles:

git fetch upstream
# Captura os branches dos remotes upstream
> remote: Contando objetos: 75, concluído.
> remote: Compactação de objetos: 100% (53/53), concluída.
> remote: Total 62 (delta 27), reutilizados 44 (delta 9)
> Descompactação de objetos: 100% (62/62), concluída.
> From https://hostname/octocat/repo
>  * [new branch]      main     -> upstream/main

Quando finalizar as alterações locais, você pode fazer push do seu branch local para o GitHub e iniciar uma pull request.

Para obter mais informações sobre como trabalhar com bifurcações, consulte "Sincronizar uma bifurcação".

Leia mais