Cómo ver el historial de archivo en Git?
-
21-09-2019 - |
Pregunta
Con la subversión que podría utilizar TortoiseSVN para ver el historial / registro de un archivo.
¿Cómo se puede hacer esto con Git?
Sólo en busca de registro de la historia para un archivo en particular, y luego la capacidad de comparar las diferentes versiones.
Solución
git log
ver el historial de confirmación. Cada cometer tiene un especificador de revisión asociado que es una clave hash (por ejemplo 14b8d0982044b0c49f7a855e396206ee65c0e787
y b410ad4619d296f9d37f0db3d0ff5b9066838b39
). Para ver la diferencia entre dos confirmaciones diferentes, el uso git diff
con los primeros caracteres de la revisión especificadores de ambas confirmaciones, así:
# diff between commits 14b8... and b410...
git diff 14b8..b410
# only include diff of specified files
git diff 14b8..b410 path/to/file/a path/to/file/b
Si desea obtener una visión general sobre todas las diferencias que sucedieron a partir comprometen a cometer, o el uso git log
git whatchanged
con la opción de parche:
# include patch displays in the commit history
git log -p
git whatchanged -p
# only get history of those commits that touch specified paths
git log path/a path/b
git whatchanged path/c path/d
Otros consejos
Me gusta usar gitk name_of_file
Esto demuestra una buena lista de los cambios que ocurrieron en un archivo en cada confirmación, en lugar de mostrar los cambios a todos los archivos. Hace que sea más fácil de localizar a algo que sucedió.
También es posible usar TIG para un agradable, navegador de repositorios Git basado en ncurses. Para ver el historial de un archivo:
tig path/to/file
Mi favorito es git log -p <filename>
, que le dará un historial de todas las confirmaciones de archivo dado, así como los diferenciales de cada confirmación.
Muchos navegadores historia de Git, incluyendo git log
(y '--graph git log'), gitk (en Tcl / Tk, parte de Git), QGit (en Qt), TIG (interfaz en modo texto para git, usando ncurses) , Giggle (en GTK +), TortoiseGit y git-guepardo ruta de soporte limitando (por ejemplo gitk path/to/file
).
Por supuesto, si quieres algo tan cerca como sea posible de TortoiseSVN, es posible que utilices TortoiseGit .
TortoiseGit también proporciona una rel="nofollow"> herramienta de línea de comandos para hacer ver la historia de una archivo. El uso de PowerShell:
C:\Program` Files\TortoiseGit\bin\TortoiseGitProc.exe /command:log /path:"c:\path\to\your\file.txt"
git log --all -- path/to/file
debe trabajar