Git: Definir a branch upstream
Última atualização
O upstream de uma branch é a branch remota que ela rastreia. Depois de definido, um git push e git pull simples sabem para onde enviar e de onde buscar os commits sem que você precise nomear o remoto e a branch a cada vez. Você geralmente o define no primeiro push com -u, ou depois com git branch --set-upstream-to.
Experimente estes comandos no terminal playground - um shell real no seu navegador, sem nada para instalar.
Sintaxe
| Command | What it does |
|---|---|
git push -u origin feature | Faz push e define o upstream em uma única etapa |
git branch --set-upstream-to=origin/feature | Define o upstream para a branch atual |
git branch -u origin/feature feature | Define o upstream para uma branch nomeada |
git branch -vv | Mostra cada branch e seu upstream |
Casos comuns
| Goal | Command |
|---|---|
| Definir o upstream no primeiro push | git push -u origin feature |
| Definir o upstream para uma branch existente | git branch --set-upstream-to=origin/feature |
| Verificar qual upstream está definido | git branch -vv |
Perguntas frequentes sobre git set upstream
O que faz definir a branch upstream?
Vincula sua branch local a uma branch remota específica. Depois disso,
git push e git pull nessa branch sabem qual remoto e branch usar, então você pode executá-los sem argumentos. O Git também mostra quanto você está à frente ou atrás do upstream no git status.Como defino a branch upstream?
A forma mais fácil é no primeiro push:
git push -u origin <branch> faz push e define o upstream de uma vez. Para uma branch que já existe no remoto, use git branch --set-upstream-to=origin/<branch> estando nessa branch.Como vejo o upstream de uma branch?
Execute
git branch -vv. Ele lista suas branches locais, cada uma anotada com seu upstream (como [origin/feature]) e se está à frente ou atrás. Branches sem upstream não mostram nada entre colchetes.Por que o git push me pede para definir o upstream?
Porque a branch atual não tem um upstream configurado, então o Git não sabe para onde fazer push. Execute
git push -u origin <branch> uma vez para defini-lo; os pushes seguintes precisam apenas de git push.Posso praticar isso online?
Sim. Abra o terminal playground para executar estes comandos em um shell real no seu navegador - sem nada para instalar. O curso interativo e gratuito de Git da Coddy também aborda o trabalho com remotos passo a passo.