En Git, para ver las diferencias con una confirmación anterior ejecuto esto:
git diff HEAD~1
Para ver las confirmaciones relacionadas con un solo, file
ejecutaría esto:
git log --oneline file
Pero si ejecuto lo siguiente y el archivo al que quiero hacer referencia no se modificó en las últimas confirmaciones, Git no muestra nada.
git diff HEAD~1 file
¿Cómo puedo ver la diferencia de una manera similar HEAD
pero a un archivo específico si ese archivo no se confirmó en la referencia señalada por HEAD
?
Respuesta1
Tendrá que hacer referencia explícita al SHA si desea ver la diferencia de un archivo que no se modificó entre la última confirmación y la anterior ( HEAD~1
).
Ejecute el registro para ver algunos de los SHA que querrá ver
git log --oneline <file>
Un resultado de ejemplo es el siguiente:
af46919 raspado - en su lugar se llama pizzería local b09206c agregó salsa y una botella de dr pepper a la lista ad90f90 amasar y dejar toda la noche
Ahora, si desea ver la diferencia de los cambios realizados en el archivo, haga referencia a él a través del segundo SHA que vea. En este caso tenemos esto del ejemplo:
git diff b09206c <file>
Lo anterior es una abreviatura de
git diff b09206c HEAD <file>
O piénselo así:
git diff <start-commit-SHA> <future-commit-SHA> <file>
Para ejecutarlo como un comando (por ejemplo, para un script), puede hacer:
git log --oneline <file> |awk 'NR==2{print $1}'|xargs -I {} git diff {} <file>