Dónde encontrar los cambios debidos a ' git fetch`


No quería perder alguna información después de un git pull, así que hice un git fetch antes. ¿Dónde puedo leer las nuevas modificaciones después de un git fetch? Fui al archivo FETCH_HEAD, pero no había nada más que un gran número.

Author: andersoj, 2012-05-21

3 answers

git fetch origin por defecto obtiene todo desde el remoto llamado " origen "y actualiza (o crea) las llamadas" ramas de seguimiento remoto " para ese remoto. Digamos que para el remoto llamado " origin "que contiene ramas llamadas" master "y" feature", ejecutar git fetch remote dará como resultado que las ramas de seguimiento remoto llamadas" origin/master "y" origin/feature " se actualicen (o se creen, si no existen). Puede verlos en la salida de git branch -a (observe "- a").

Ahora, la configuración habitual de Git es que (algunas de) sus ramas locales siguen ciertas ramas remotas (generalmente con el mismo nombre). Es decir, su rama "master" local sigue a "origin / master", etc.

Así que, después de buscar, para ver qué "maestro" remoto ha comparado con su "maestro" local, le pide a Git que le muestre exactamente esto:

git log origin/master ^master

Que significa "todas las confirmaciones alcanzables desde" origin / master "que no incluyen confirmaciones alcanzables desde" master"" o bien

git log master..origin/master

Que tiene el mismo significado. Ver el página de manual"gitrevisions" para más información, especialmente la parte "Especificar rangos". También vea los ejemplos en la página de manual de git-log

Usted es libre de personalizar la salida de git log como mejor le parezca, ya que soporta un montón de opciones que le afectan.

Tenga en cuenta que su rama local también puede tener confirmaciones que la rama remota correspondiente no contiene (todavía). Para obtener una visión general de ellos deberá revertir las revisiones pasadas a git log para (esperemos) razones obvias.

Como de costumbre, es esencial educar usted mismo para comprender los conceptos subyacentes antes de comenzar a usar una herramienta. Por favor, hazlo.

 47
Author: kostix,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2018-03-02 22:06:17

Intenta

git log --oneline --decorate origin/master

Esto le dará el registro de cambios de la cabeza master del control remoto origin (puede sustituir cualquier otra rama remota según sea necesario). Obtendrás una salida algo como esta:

234121 (origin/master) Commit message 5
872373 Commit message 4
623748 Commit message 3
235090 (master) Commit message 2
192399 Commit message 1

La confirmación marcada (master) es la cabeza de tu rama local master. La confirmación marcada (origin/master) es la cabeza de la rama master del control remoto.

 3
Author: Barend,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2012-05-21 06:28:02

Si solo quieres ver qué archivos se modificarán si haces una EXTRACCIÓN de GIT, haz esto:

git fetch && git diff HEAD @{u} --name-only

Si desea ver TODAS las diferencias entre su versión actual y la versión entrante, incluidas las modificaciones locales no comprometidas, escriba esto:

git fetch && git diff @{u} --name-only
 0
Author: Eliezer Berlin,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2018-08-08 10:52:50