Skip to content
Latchkey

O Que É o Remote Origin?

Origin é simplesmente o nome padrão que o Git dá ao repositório remoto do qual você clonou, o lugar para o qual você normalmente faz push e do qual faz fetch.

Quando você clona um repositório, o Git cria automaticamente um remote chamado origin apontando para a URL da qual você clonou. Não há nada de especial no nome; é uma convenção. Entender que origin é apenas um padrão ajuda a desmistificar os comandos push e pull que você executa todos os dias.

De onde vem o origin

Executar git clone configura um remote chamado origin apontando para a URL de origem e cria branches de remote-tracking sob ele. A partir daí, comandos como git push e git pull usam origin por padrão quando você não nomeia um remote explicitamente.

Origin nos comandos do dia a dia

Na maior parte do tempo você faz push e pull contra origin sem nomeá-lo, mas você pode ser explícito.

Cloning sets up origin
git clone https://github.com/owner/project.git
git push origin main
git pull origin main

Origin versus upstream

Em um fluxo com fork, origin normalmente aponta para o seu fork enquanto um segundo remote chamado upstream aponta para o projeto original. Você faz push para origin e pull das novas alterações do upstream. Os nomes são convenção, mas segui-los mantém o modelo mental de uma equipe consistente.

Origin e CI/CD

Os sistemas de CI clonam o repositório canônico, que se torna o origin deles, e fazem o build do commit que você enviou ali. Quando um workflow faz checkout do código, ele está fazendo fetch desse origin. Saber qual remote é o origin ajuda ao depurar por que um pipeline fez o build de um commit ou branch inesperado.

Dicas para gerenciar o origin

  • Origin é um nome padrão, não uma palavra mágica; você pode renomeá-lo.
  • Em forks, aponte origin para o seu fork e upstream para a origem.
  • Verifique git remote -v quando um push ou pull for para um lugar inesperado.
  • O CI usa seu próprio clone como origin, independente da sua configuração local.

Principais conclusões

  • Origin é o nome padrão para o remote do qual você clonou.
  • Push e pull usam origin por padrão, a menos que você nomeie outro remote.
  • Em forks, origin é o seu fork e upstream é o projeto original.

Guias relacionados