¿Cómo enumero todos los archivos en una confirmación?
¿Cómo puedo imprimir una lista simple de todos los archivos que formaron parte de una confirmación determinada?
Aunque a continuación se enumeran los archivos, también incluye información de diferencias no deseada para cada uno:
git show a303aa90779efdd2f6b9d90693e2cbbbe4613c1d
Aceptado
Manera preferida (porque es un comando de plomería ; destinado a ser programático):
$ git diff-tree --no-commit-id --name-only bd61ad98 -r
index.html
javascript/application.js
javascript/ie6.js
Otra forma (menos preferida para scripts, porque es un comando de porcelana ; destinado a ser orientado al usuario)
$ git show --pretty="" --name-only bd61ad98
index.html
javascript/application.js
javascript/ie6.js
- Suprime la
--no-commit-id
salida del ID de confirmación. - El
--pretty
argumento especifica una cadena de formato vacía para evitar problemas al principio. - El
--name-only
argumento muestra solo los nombres de los archivos afectados (Gracias Hank). Úselo--name-status
en su lugar si desea ver qué sucedió con cada archivo ( eliminado , modificado , agregado ) - El
-r
argumento es recurrir a subárboles.
Si desea obtener la lista de archivos modificados:
git diff-tree --no-commit-id --name-only -r <commit-ish>
Si desea obtener la lista de todos los archivos en una confirmación, puede usar
git ls-tree --name-only -r <commit-ish>
Simplemente asumiré que eso gitk
no es lo que se desea para esto. En ese caso, inténtalo git show --name-only <sha>
.