Configurar Upstream no Git
Neste artigo, aprenderemos como usar o upstream
no Git. Enquanto trabalhamos com Git clonando e criando um novo repositório em um branch, temos que definir branches upstream
para os commits e fetch futuros. Mas primeiro, devemos entender o que são ramos upstream
e como isso funciona. Os branches upstream estão fortemente vinculados aos branches remotos.
Os branches upstream
podem ser definidos como o branch seguido no repositório remoto por nosso branch local (também chamado de branch de rastreamento remoto). Quando precisamos configurar o branch remoto padrão como nosso branch local atual, temos que executar o comando git upstream
.
Localmente, este comando é usado para set-upstream:
git branch --set-upstream <remote-branch>
Além disso, também estão disponíveis as opções mencionadas abaixo:
Configurar Branch Upstream usando Git Push
A maneira mais simples de configurar o branch upstream é usar o comando git push
com a opção -u
usada para o branch upstream. O comando a seguir terá o nome do branch para definir o branch local como o branch remoto.
$ git push -u <remote> <branch>
Em vez disso, você pode usar a opção --set-upstream
semelhante à opção -u
, que definirá o branch local como o branch remoto.
$ git push --set-upstream <remote> <branch>
Vamos dar um exemplo se criamos um branch chamado branch
usando o comando checkout.
$ git checkout -b branch
Ele mudou para um novo ramo branch
.
Uma maneira de evitar ter que digitar com precisão --set-upstream
é usar sua versão resumida -u
da seguinte forma:
git push -u origin local-branch
Isso configurará facilmente a associação upstream para qualquer comando push ou pull futuro. Quando precisamos enviar para um repositório remoto e usar --set-upstream
explicitamente no comando, ele definirá o branch no ambiente local para o qual estamos enviando como o branch de rastreamento remoto.
Se adicionarmos um branch remoto e usarmos --set-upstream
no comando, significa que Git sabe o que queremos fazer quando Git fetch, Git pull ou Git push no futuro. Ele mantém as filiais locais e remotas atualizadas com rastreamento e manutenção dos comandos pull e push.
Abdul is a software engineer with an architect background and a passion for full-stack web development with eight years of professional experience in analysis, design, development, implementation, performance tuning, and implementation of business applications.
LinkedIn