martes, 24 de enero de 2017

[GitHub] Branches no sincronizadas después de 'git pull'

Después de hacer un git pull origin master en un equipo que esté detrás de origin, al hacer git status nos dirá que está X commits por delante (tantos como estuviera por delante el remoto respecto del local):

~ git pull origin master
<pasan cosas>

~ git status
# On branch master
# Your branch is ahead of 'origin/master' by 2 commits.
#
nothing to commit (working directory clean)

Esto se debe a que la referencia al HEAD de origin no ha cambiado en el local, para actualizarla basta con hacer git fetch origin:

~ git fetch origin
<pasan cosas>

~ git status
# On branch master
nothing to commit (working directory clean)

Para evitar esta situación o evitar tener que hacer un fetch después de un pull (cuando se supone que un pull es un fetch + merge), podemos hacer directamente:

~ git pull origin
<pasan cosas, pero esta vez sincronizando los HEAD del branch remoto y del local>