tipos - git ver archivos modificados
Listar todas las confirmaciones para un archivo especĂfico (15)
Alternativamente (desde Git 1.8.4), también es posible obtener todos los cambios que han cambiado una parte específica de un archivo. Puede obtener esto pasando la línea de inicio y el número de la línea final.
El resultado devuelto sería la lista de confirmaciones que modificó esta parte en particular. El comando va como:
git log --pretty=short -u -L <upperLimit>,<lowerLimit>:<path_to_filename>
donde upperLimit
es el start_line_number
y el start_line_number
lowerLimit
es el ending_line_number
¿Hay una manera de enumerar todas las confirmaciones que cambiaron un archivo específico?
Como señaló --follow
, --follow
es más robusto ya que continúa enumerando el historial más allá de los renombramientos / movimientos. Por lo tanto, si está buscando un archivo que no se encuentra actualmente en la misma ruta o un archivo cuyo nombre se ha cambiado en varias confirmaciones, --follow lo rastreará.
Esta puede ser una mejor opción si desea visualizar los cambios de nombre / ruta:
git log --follow --name-status -- <path>
Pero si quieres una lista más compacta con solo lo que importa:
git log --follow --name-status --format=''%H'' -- <path>
o incluso
git log --follow --name-only --format=''%H'' -- <path>
La desventaja es que --follow
solo funciona para un solo archivo.
Debe ser tan simple como git log <somepath>
; Compruebe la página de manual ( git-log(1)
).
Personalmente, me gusta usar git log --stat <path>
para poder ver el impacto de cada confirmación en el archivo.
En Linux puedes usar gitk para esto.
Se puede instalar utilizando "sudo apt-get install git-gui gitk". Se puede usar para ver las confirmaciones de un archivo específico mediante "gitk <Nombre de archivo>".
He estado observando esto de cerca y todas estas respuestas no parecen mostrarme todos los compromisos en todas las sucursales.
Esto es lo que he encontrado al jugar con las opciones de vista de edición de gitk. Esto me muestra todas las confirmaciones para un archivo, independientemente de la rama, el local, el reinicio y el remoto.
gitk --all --first-parent --remotes --reflog --author-date-order -- filename
Si desea buscar todas las confirmaciones por filename
de filename
y no por filepath
de filepath
, use:
git log --all -- ''*.wmv''
Si desea ver todas las confirmaciones que cambiaron un archivo, en todas las ramas, use esto:
git log --follow --all <filepath>
Si desea ver todos los cambios realizados en las confirmaciones que cambiaron un archivo en particular (en lugar de solo los cambios en el propio archivo), puede pasar --full-diff
:
git log -p --full-diff [branch] -- <path>
Si está intentando: seguir un archivo eliminado en un uso de confirmación anterior
git log --follow -- filename
Utilice git log --all <filename>
para ver las confirmaciones que influyen en <filename>
en todas las ramas.
Utilice el siguiente comando para obtener confirmaciones para un archivo específico:
git log -p filename
git log path
debe hacer lo que quieras. Desde el git log
man :
[--] <path>…
Show only commits that affect any of the specified paths. To prevent confusion with
options and branch names, paths may need to be prefixed with "-- " to separate them
from options or refnames.
El --follow
funciona para un archivo en particular
git log --follow -- filename
Diferencia a otras soluciones dadas.
Tenga en cuenta que otras soluciones incluyen la git log path
(sin el --follow
). Ese enfoque es útil si desea realizar un seguimiento, por ejemplo, de cambios en un directorio , pero se tropieza cuando se cambia el nombre de los archivos (por lo tanto, use --follow filename
).
# Shows commit history with patch
git log -p -<no_of_commits> --follow <file_name>
# Shows brief details like "1 file changed, 6 insertions(+), 1 deletion(-)"
git log --stat --follow <file_name>
gitk <path_to_filename>
Suponiendo que el paquete "gitk" ya está instalado.
Si no está instalado, haga esto:
sudo apt-get install gitk
Y luego intente el comando anterior. Es para Linux ... Podría ayudar a los usuarios de Linux si desean una GUI.