git: 'log master..origin / master' no se comporta como se esperaba

Estoy tratando de comparar mi copy de 'master' con la del repository remoto que rastrea. Pensé que el siguiente command funcionaría, y a menudo parece. Sin embargo, a veces no produce nada y, sin embargo, sé que la twig remota tiene muchos cambios, que puedo confirmar haciendo un tirón.

git log master..origin/master 

¿Alguien puede explicar este comportamiento y decirme qué command debería utilizar para determinar los cambios entre local y remoto?

[Otro dato: he tenido que pasar que 'git log master..origin / master' no produce nada. Entonces hago un tirón. La extracción falla porque tengo una copy de trabajo de algún file. Después de esto, 'git log master..origin / master' me muestra las diferencias. Parece que la extracción ha actualizado algunos loggings locales? Si es así, ¿cómo podría lograr esto sin hacer (o intentar hacer) un tirón?]

Esto se debe a que origin/master es una twig remota en su repository . Representa donde la twig maestra del origen fue la última vez que "buscó" (extraído, que es parte de la extracción y la actualización remota).

Cuando tira, la búsqueda se realiza y el origin/master se actualiza. Luego extraiga las llamadas, que pueden fallar o no, pero esto no tiene efecto en sus sucursales remotas.

También puede usar git fetch --all or git fetch origin para get esas actualizaciones.

pull es una fetch y una merge . Fetch descarga sus loggings de un server remoto. Creo que esto es lo que estás observando aquí.

http://www.kernel.org/pub/software/scm/git/docs/git-pull.html

Solo le mostrará algunas diferencias si trajo algo fuera de origen (a las references locales de origen en su repository local).

Es por eso que ves una diferencia incluso después de un git pull fallido:

  • primero busca
  • luego intenta fusionar (y falla)

, pero eso es suficiente para que el git log extraiga la información que necesita, porque están en su repository local (después de la parte de fetch )