git: get la list de files que se han modificado a lo largo de un file específico

Me gustaría comprobar qué files se han modificado al mismo time que un file específico. Específicamente, quiero get el historial de este file específico, y para cada confirmación de este historial, quiero saber qué files se vieron afectados.

Cuando hago git log --name-only , obtengo el historial completo de commits, así como una list de files que han sido modificados, para cada commit.

Ahora, si hago git log <file> , obtengo el historial de las confirmaciones que involucraron este file específico.

git log --name-only <file> , sin embargo, no incluye la list completa de files modificados por cada commit. En cambio, solo me muestra <file> , lo cual es bastante inútil para ser honesto. ¿Hay alguna forma de hacer que este command incluya todos los files?

Puede canalizar los dos commands.

 $ git log --format="%h" <file-name> | xargs git show --name-only 

Aquí:

git log –format = "% h" : selecciona el commit-sha donde se cambia el file dado

xargs git show –name-only : toma los commits seleccionados como args y muestra los nombres completos de los files modificados.

Use git-rev-list para enumerar commits que afectan a una ruta específica y luego git-show para get todos los files modificados en cada commit:

git show --name-only $(git rev-list HEAD -- PATH)

También puede usar la herramienta TortoiseGit (herramienta basada en la interfaz de usuario para Git, similar a TortoiseSVN) para la misma.

Después de instalar TortoiseGit-

  1. Haga clic derecho en el file y vaya a TortoiseGit en el menu.

  2. Haga clic en Mostrar logging .

Mostrará el historial de Commit de ese file junto con otros files que se incluyen con esos commits. También mostrará los cambios en los files.