Esto es principalmente de naturaleza curiosa ya que estoy tratando de familiarizarme con Git. He revisado la documentación de 'git fetch' pero no veo una explicación obvia para el siguiente. Gracias de antemano, y me disculpo si esto es aullantemente obvio.git fetch vs. git fetch origin master tienen diferentes efectos en la rama de seguimiento
1) Desde un repositorio central, digamos GitHub, clono un repositorio llamado website
en cada una de las dos máquinas, HostA
y HostB
.
2) en HostA
, realizo un cambio en un archivo, digamos README.txt
, y lo confirmo.
En este punto de HostA
, las confirmaciones de las ramas master
y origin/master
están, como se esperaba diferente ya que no he empujado todavía
git show master
git show origin/master
diferentes valores hash (ya master
tiene el cambio y origin/master
no lo hace)
3) Una vez que presiono, después de eso son lo mismo.
4) Ahora, a lo largo de HostB
, si hago lo siguiente:
git fetch
git merge FETCH_HEAD
después, el HostB master
y origin/master
informe el mismo hash cuando se les pregunta con git show
PERO
si en cambio lo hubiera hecho, en HostB
:
git fetch origin master
git merge FETCH_HEAD
en ese punto, los valores hash aún difieren. informe
git show origin
git show origin/master
diferente hashes
la rama de seguimiento origin/master
no se actualiza hasta que lo haga una llanura git fetch
¿Por qué es esto?
Casi duplicado: (el hecho de que sea pull, not fetch, no hace diferencia de material) http://stackoverflow.com/questions/1741143/git-pull-origin- mybranch-leaves-local- mybranch-n- commits-ahead-of-origin-why –