git remote

Compartilhar e atualizar

Gerencia os repositórios remotos com que você sincroniza


O comando 'git remote' lista, adiciona e remove remotos — nomes curtos para as URLs de outros repositórios. git clone cria um chamado origin. Forks costumam adicionar um segundo, upstream, apontando para o projeto original. Adicionar um remoto não baixa nada; quem faz isso é git fetch <name>.

Sinopse

git remote [-v | --verbose]
git remote add <name> <url>
git remote remove <name>
git remote rename <old> <new>
git remote set-url <name> <newurl>
git remote show <name>
[ ] opcional| ou<arg> valor a substituir... repetível--flag opção

Opções

Clique em uma opção para expandir

Iniciante (1)

Mostra a URL de cada remoto, para fetch e push.

RecomendadoVer exatamente de qual URL você baixa e para qual envia

Exemplo

git remote -v

Escolhendo a opção certa

origin versus upstream

Os dois remotos habituais de um fork

ComandoAponta paraVocê envia para ele?
originSua cópia (o fork)Sim
upstreamO projeto originalNão — você faz fetch dele

Exemplos

Listar remotos

git remote -v

Os nomes com suas URLs.


Adicionar o original de um fork

git remote add upstream git@github.com:acme/shop.git

Um segundo remoto.


Trocar uma URL

git remote set-url origin git@github.com:you/shop.git

P. ex. passar de HTTPS para SSH.


Detalhes

git remote show origin

Branches e informações de rastreamento.

Exemplos de fluxos de trabalho

1
git remote add upstream git@github.com:acme/shop.git

Uma vez

2
git fetch upstream

Baixar os commits dele

3
git merge upstream/main

Trazê-los para o seu main

4
git push

Atualizar o seu fork

Solução de problemas

error: remote origin already exists

Causa: O nome já está em uso

Use set-url para alterá-lo, ou outro nome

fatal: 'upstream' does not appear to be a git repository

Causa: O remoto não está configurado

Adicione-o com git remote add

Dicas e armadilhas

Boas práticas

  • ✓Chame de upstream o original de um fork.
  • ✓Confira git remote -v antes do seu primeiro push.

Erros comuns

  • ✗Esperar que git remote add baixe commits — execute git fetch depois.
  • ✗Enviar para upstream em vez de origin num fork.

Perguntas frequentes

A:

git remote rename old new.

A:

git remote remove <name> — os branches de rastreamento remoto também saem.