Cómo enumerar todas las confirmaciones y cambios relacionados entre dos versiones diferentes usando git

Quiero enumerar todos los commits y cambios para cada commit entre dos versiones diferentes.

Tengo dos versiones diferentes:

UN:

<project name="gecko.git" path="gecko" remote="mozillaorg" revision="913804d1cc347112fd033df8c18e683db074791f" upstream="v1.4"/> 

SEGUNDO:

 <project name="gecko.git" path="gecko" remote="mozillaorg" revision="ef52f8028b3f60190f78801ac5dbd879f836a498" upstream="v1.4"/> 

Ahora puedo usar

 git diff 913804d1cc347112fd033df8c18e683db074791f ef52f8028b3f60190f78801ac5dbd879f836a498 

dos muestran todos los cambios entre A y B como:

 diff --git a/b2g/config/emulator-ics/sources.xml b/b2g/config/emulator-ics/sources.xml index 2f574d3..3274ceb 100644 --- a/b2g/config/emulator-ics/sources.xml +++ b/b2g/config/emulator-ics/sources.xml @@ -19,7 +19,7 @@ <copyfile dest="Makefile" src="core/root.mk"/> </project> <project name="fake-dalvik" path="dalvik" remote="b2g" revision="ca1f327d5acc198bb4be62fa51db2c039032c9ce"/> - <project name="gaia.git" path="gaia" remote="mozillaorg" revision="c0b571522702f4d9fb6aba10300e9cbc55c2d084"/> + <project name="gaia.git" path="gaia" remote="mozillaorg" revision="ce6c3d8fbd123dc65e8d2dd1f90403e24fa36dfe"/> <project name="gonk-misc" path="gonk-misc" remote="b2g" revision="81e894545b87ea2cf9e78f56a2cd1d2a5adc7a25"/> <project name="rilproxy" path="rilproxy" remote="b2g" revision="827214fcf38d6569aeb5c6d6f31cb296d1f09272"/> <project name="platform_hardware_ril" path="hardware/ril" remote="b2g" revision="d11f524d00cacf5ba0dfbf25e4aa2158b1c3a036"/> diff --git a/b2g/config/emulator-jb/sources.xml b/b2g/config/emulator-jb/sources.xml index d4038f1..a6520b6 100644 --- a/b2g/config/emulator-jb/sources.xml +++ b/b2g/config/emulator-jb/sources.xml @@ -17,7 +17,7 @@ </project> <project name="rilproxy" path="rilproxy" remote="b2g" revision="827214fcf38d6569aeb5c6d6f31cb296d1f09272"/> <project name="fake-libdvm" path="dalvik" remote="b2g" revision="d50ae982b19f42f0b66d08b9eb306be81687869f"/> - <project name="gaia" path="gaia" remote="mozillaorg" revision="c0b571522702f4d9fb6aba10300e9cbc55c2d084"/> + <project name="gaia" path="gaia" remote="mozillaorg" revision="ce6c3d8fbd123dc65e8d2dd1f90403e24fa36dfe"/> <project name="gonk-misc" path="gonk-misc" remote="b2g" revision="81e894545b87ea2cf9e78f56a2cd1d2a5adc7a25"/> <project name="moztt" path="external/moztt" remote="b2g" revision="7beaabe1187b688ef560607912577c614a038533"/> <project name="apitrace" path="external/apitrace" remote="apitrace" revision="8a4baf82a131a7853cf7e7f9cf74253927b2f355"/> diff --git a/b2g/config/emulator-kk/sources.xml b/b2g/config/emulator-kk/sources.xml index 59429f5..a727976 100644 --- a/b2g/config/emulator-kk/sources.xml +++ b/b2g/config/emulator-kk/sources.xml @@ -15,7 +15,7 @@ <project name="platform_build" path="build" remote="b2g" revision="65fba428f8d76336b33ddd9e15900357953600ba"> <copyfile dest="Makefile" src="core/root.mk"/> </project> - <project name="gaia" path="gaia" remote="mozillaorg" revision="c0b571522702f4d9fb6aba10300e9cbc55c2d084"/> + <project name="gaia" path="gaia" remote="mozillaorg" revision="ce6c3d8fbd123dc65e8d2dd1f90403e24fa36dfe"/> <project name="fake-libdvm" path="dalvik" remote="b2g" revision="d50ae982b19f42f0b66d08b9eb306be81687869f"/> <project name="gonk-misc" path="gonk-misc" remote="b2g" revision="81e894545b87ea2cf9e78f56a2cd1d2a5adc7a25"/> 

Con el resultado anterior, no puedo decir qué cambio está relacionado con qué compromiso, por lo que es un poco difícil para mí networkingucir algunos errores específicos.

Mi pregunta es cómo enumerar todas las confirmaciones y cambios para cada confirmación entre dos versiones, como

 commit f3001d8f7099d582916b96340a8e2f0d19930c01 <Changes in this commit> commit 185711685900f71dea5cdd17ae4a0c02847c68d2 <Changes in this commit> commit af7ca17248731d6b98772b0ab051d918fb7f9b84 <Changes in this commit> 

Quizás esto es lo que quieres:

 git log -p 913804..ef52f8 

git comprenderá correctamente hashes con suficientes caracteres para que no sean ambiguos.

Puede pasar un range de compromiso para git show :

 git show first_commit..last_commit 

Hay una buena explicación sobre cómo usar los intervalos de compromiso en este enlace si desea hacer algo más complejo: http://git-scm.com/book/ch6-1.html#Commit-Ranges