Tenho uma filial local chamada 'my_local_branch
' que segue uma filial remota origin/my_remote_branch
.
Agora, o ramo remoto foi actualizado, e eu estou no 'my_local_branch
' e quero fazer essas alterações. Devo simplesmente fazê-lo:
git pull origin my_remote_branch:my_local_branch
Será esta a forma correcta?
Não'não utiliza a :
sintaxe - pull
modifica sempre o ramo actualmente verificado. Assim:
git pull origin my_remote_branch
enquanto tem o my_local_branch
check out fará o que quiser.
Uma vez que já tem o ramo de localização, nem precisa de especificar - poderia simplesmente fazer...
git pull
enquanto tem o my_local_branch
verificado, e será actualizado a partir do ramo rastreado.
Criou o a montante desse ramo
(ver:
git branch -f --track my_local_branch origin/my_remote_branch # OU (se a minha_filial_local_branch está actualmente verificada): $ ramo_local_branch --set-upstream para my_local_branch origem/my_remote_branch
(git branch -f --track
won't work if the branch is check out: use the second command git branch --set-upstream
, or you would get "fatal: Cannot cannot force update the current branch.
")
Isso significa que o seu ramo está já configurado com:
branch.my_local_branch.remote origin
branch.my_local_branch.merge my_remote_branch
Git já dispõe de toda a informação necessária.
Nesse caso:
# if you weren't already on my_local_branch branch:
git checkout my_local_branch
# then:
git pull
é suficiente.
Se não'não tivesse estabelecido essa relação de ramo a montante quando se trata de empurrar o seu 'my_local_branch
' então um simples git push -u origin my_local_branch:my_remote_branch
teria sido suficiente para empurrar e configurar o ramo a montante.
Depois disso, para os puxões/puxos subsequentes, "puxar" ou "empurrar" teria, mais uma vez, sido suficiente.