Has configurado el flujo ascendente de esa rama
(ver:
git branch -f --track my_local_branch origin / my_remote_branch
# O (si my_local_branch está actualmente desprotegido):
$ git branch --set-upstream-to my_local_branch origin / my_remote_branch
( git branch -f --trackno funcionará si la rama está desprotegida: use el segundo comando en su git branch --set-upstream-to lugar, o obtendrá " fatal: Cannot force update the current branch.")
Eso significa que su sucursal ya está configurada con:
branch.my_local_branch.remote origin
branch.my_local_branch.merge my_remote_branch
Git ya tiene toda la información necesaria.
En ese caso:
# if you weren't already on my_local_branch branch:
git checkout my_local_branch
# then:
git pull
es suficiente.
Si no hubiera establecido esa relación de rama ascendente cuando se trataba de impulsar su ' my_local_branch', entonces un simple git push -u origin my_local_branch:my_remote_branchhabría sido suficiente para impulsar y establecer la rama ascendente.
Después de eso, para los tirones / empujones posteriores, git pullo git pushhabría sido suficiente, de nuevo.
git pulles suficiente.git branch -f --track master origin/masterdevuelve un error:fatal: Cannot force update the current branch.--set-upstream-to,--set-upstreamestá en desuso y se eliminará.No usa la
:sintaxis:pullsiempre modifica la rama actualmente desprotegida. Así:mientras haya realizado el
my_local_branchcheck out hará lo que quiera.Como ya tiene configurada la rama de seguimiento, ni siquiera necesita especificar; simplemente podría hacer ...
mientras ha realizado el
my_local_branchcheck out, y se actualizará desde la rama rastreada.fuente