¿Cómo identifico los archivos / directorios que fueron añadidos o eliminados en un git commit?
Pregunta
Tengo que escribir un guión que mantiene de forma incremental seguimiento de los archivos y directorios añadidos o borrados de un repositorio git.
He tratado de uso:
git log -n1 --pretty="format:" --name-only
Pero eso sólo me dice que se hubieran cometido archivos. No se especifica si se ha añadido o eliminado.
Algunas ideas?
Solución
La opción que está buscando es --name-status
. Al igual que --name-only
en realidad es una opción git-diff; git-registro acepta aquellos para determinar la forma, se mostrará parches.
git log -n 1 --pretty=oneline --name-status
O equivalentemente (menos el encabezado de registro):
git diff --name-status HEAD^ HEAD
Como isbadawi señala, también se puede utilizar git-WhatChanged. Esto es más o menos git-registro con una salida específica diff:
git whatchanged -n 1
Es posible que como la versión --name-status
mejor, sin embargo, ya que no muestra todos los valores hash blob, sólo los estados legible por humanos.
Otros consejos