Actualizar uma filial local com as alterações de uma filial remota rastreada

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.

Comentários (1)
Solução

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.

Comentários (6)