git remote
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>Opções
Escolhendo a opção certa
origin versus upstream
Os dois remotos habituais de um fork
| Comando | Aponta para | Você envia para ele? |
|---|---|---|
origin | Sua cópia (o fork) | Sim |
upstream | O projeto original | Não — você faz fetch dele |
Exemplos
Listar remotos
git remote -vOs nomes com suas URLs.
Adicionar o original de um fork
git remote add upstream git@github.com:acme/shop.gitUm segundo remoto.
Trocar uma URL
git remote set-url origin git@github.com:you/shop.gitP. ex. passar de HTTPS para SSH.
Detalhes
git remote show originBranches e informações de rastreamento.
Exemplos de fluxos de trabalho
git remote add upstream git@github.com:acme/shop.gitUma vez
git fetch upstreamBaixar os commits dele
git merge upstream/mainTrazê-los para o seu main
git pushAtualizar 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
git remote rename old new.
git remote remove <name> — os branches de rastreamento remoto também saem.