¿Cómo diferenciar un archivo de una versión arbitraria en Git?
¿Cómo puedo diferenciar un archivo, por ejemplo pom.xml
, de la rama master a una versión anterior arbitraria en Git?
Tu puedes hacer:
git diff master~20:pom.xml pom.xml
... para comparar su revisión actual pom.xml
con la de master
hace 20 revisiones a través del primer padre. Puede reemplazar master~20
, por supuesto, con el nombre del objeto (SHA1sum) de una confirmación o cualquiera de las muchas otras formas de especificar una revisión .
Tenga en cuenta que esto en realidad compara la versión anterior pom.xml
con la versión en su árbol de trabajo, no con la versión confirmada en master
. Si quieres eso, puedes hacer lo siguiente:
git diff master~20:pom.xml master:pom.xml
git diff <revision> <path>
Por ejemplo:
git diff b0d14a4 foobar.txt
Si desea ver la diferencia entre la última confirmación de un solo archivo, puede hacer:
git log -p -1 filename
Esto le dará la diferencia del archivo en git, no comparará su archivo local.