Ver cambios en un archivo específico usando git

Resuelto Mellon asked hace 13 años • 13 respuestas

Sé que puedo usar el git diffcomando para verificar los cambios, pero, hasta donde tengo entendido, se basa en directorios. Esto significa que proporciona todos los cambios de todos los archivos en el directorio actual.

¿Cómo puedo verificar solo los cambios en un archivo específico? Digamos que he cambiado archivos file_1.rb, file_2.rb,..., file_N.rbpero solo me interesan los cambios en el archivo file_2.rb. Entonces, ¿cómo verifico estos cambios (antes de confirmar)?

Mellon avatar Nov 08 '11 16:11 Mellon
Aceptado

Utilice un comando como:

git diff file_2.rb

Consulte la git diffdocumentación para obtener información completa sobre los tipos de cosas por las que puede obtener diferencias.

Normalmente, git diffpor sí solo muestra todos los cambios en todo el repositorio (no solo el directorio actual).

Greg Hewgill avatar Nov 08 '2011 09:11 Greg Hewgill

Otro método (mencionado en esta respuesta SO ) mantendrá el historial en la terminal y le brindará un registro muy profundo del archivo en sí:

git log --follow -p -- file

Esto mostrará el historial completo del archivo (incluido el historial más allá de los cambios de nombre y con diferencias para cada cambio).

En otras palabras, si el archivo llamado bar alguna vez se llamó foo, entonces git log -p bar (sin la opción --follow) solo mostrará el historial del archivo hasta el punto en el que se le cambió el nombre; no mostrará el El historial del archivo cuando se conocía como foo. El uso de git log --follow -p bar mostrará el historial completo del archivo, incluidos los cambios realizados en el archivo cuando se conocía como foo.

AJ Zane avatar Jul 09 '2015 00:07 AJ Zane

Puede utilizar gitk [filename]para ver el registro de cambios.

da Rocha Pires avatar Feb 28 '2014 12:02 da Rocha Pires

Puede utilizar el siguiente comando para ver quién ha cambiado qué en un archivo.

git blame <filename>

Vineet avatar Sep 15 '2015 12:09 Vineet

para enumerar solo los detalles de confirmación de cambios de archivos específicos,

git log --follow file_1.rb

para enumerar las diferencias entre varias confirmaciones para el mismo archivo,

git log -p file_1.rb

para enumerar solo el compromiso y su mensaje,

git log --follow --oneline file_1.rb
Mohideen bin Mohammed avatar May 02 '2019 05:05 Mohideen bin Mohammed