Estoy usando git en un repositorio forzado. Quiero poder saber exactamente qué archivos se vieron afectados por un commit de git, así que puedo dar la vuelta con un enganche post-commit y abrir esos archivos para editarlos forzosamente, de modo que el servidor forzado sepa sobre los cambios.
¿Hay alguna manera de obtener una lista, dentro del enganche post-commit, de exactamente qué archivos se vieron afectados por la confirmación?¿Hay alguna manera de obtener los archivos afectados de una confirmación con un gancho post-commit de git?
Respuesta
para obtener los datos en bruto:
git diff-tree HEAD
Obtener ruta afectadas (en relación con $GIT_DIR
) de la cabeza de la rama actual con
git show --pretty=oneline --name-only HEAD | sed 1d
Puede obtener la misma salida exacta con: git diff-tree --name-only -r HEAD | sed 1d Interesante que hay algunas maneras de hacer esto ... – bergyman
En este caso, ve con 'git diff-tree' sobre' git show' porque el primero es de baja calidad, a diferencia de la porcelana para humanos utilizar. Ver http://progit.org/book/ch9-1.html –
es git log --name-only
lo que estás buscando? git log --name-status
también muestra la acción como M para modificar, A para agregar (supongo) etc.
Por último, la opción --pretty=oneline
puede ser útil para un análisis más fácil.
Obviamente, probablemente ya se haya dado cuenta de esto, pero lo agregué para futuras consultas.
- 1. En Git, ¿hay alguna manera de obtener el nombre "amigable" para una confirmación arbitraria?
- 2. ¿Hay alguna manera de ver todos los archivos modificados en una rama en Git?
- 3. ¿Hay alguna manera de bloquear una rama en GIT
- 4. ganchos git: ¿hay un gancho clon?
- 5. estado de git: ¿hay alguna manera de mostrar los cambios solo en un directorio específico?
- 6. Git gancho pre-commit: obtener la lista de archivos cambiados
- 7. git-svn: ¿hay alguna manera de hacer que funcione bien con los submódulos, o ignorarlos?
- 8. ¿Hay alguna forma de obtener el SHA de una confirmación a partir de su mensaje?
- 9. Obtener la última confirmación del repositorio de Git
- 10. ¿Hay alguna manera de obtener PartionKeys distintas de una Tabla
- 11. Gancho de precompilación de Git: Archivos modificados/agregados
- 12. asociar un vacío de Git comprometerse con los archivos de
- 13. ¿Hay alguna manera de obtener datos ortográficos de un NSString?
- 14. ¿Hay algún gancho git para tirar?
- 15. Git: gancho de correo electrónico posterior a la recepción, incluidos los parches de diferenciación?
- 16. En un gancho post-commit de git, ¿cómo obtengo una lista de los archivos que se cambiaron?
- 17. gancho de pre-recepción GIT
- 18. (nodo) ¿Límite máximo de archivos afectados?
- 19. Revertir parte de una confirmación con git
- 20. obtener mensaje de confirmación en git hook
- 21. ¿Hay alguna manera de obtener un REPL en pydev?
- 22. Git personalización de gancho global
- 23. ¿Hay alguna manera de importar/exportar SourceGear Vault a Git
- 24. ¿Hay alguna manera de usar ConcurrentDictionary.TryUpdate con una expresión lambda?
- 25. Obtener git para nunca presionar una sola confirmación?
- 26. ¿Hay alguna manera de verificar si existe un directorio en los archivos de configuración de Apache?
- 27. ¿Hay alguna manera de obtener todos los atributos de un DOMElement?
- 28. Oracle: ¿Hay alguna manera de obtener los tipos de datos de columna para una vista?
- 29. ¿Hay alguna manera de obtener el objeto predeterminado de $ .ajax?
- 30. ¿Hay alguna manera de convertir archivos SVG a los comandos compatibles con Canvas de HTML5?
No se ve así me da una lista de los archivos reales, me muestra los directorios afectados. – bergyman
... no importa, ahondando en las opciones de diff-tree esto puede funcionar. – bergyman