Ver cambios en un archivo específico usando git
Sé que puedo usar el git diff
comando 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.rb
pero solo me interesan los cambios en el archivo file_2.rb
. Entonces, ¿cómo verifico estos cambios (antes de confirmar)?
Utilice un comando como:
git diff file_2.rb
Consulte la git diff
documentación para obtener información completa sobre los tipos de cosas por las que puede obtener diferencias.
Normalmente, git diff
por sí solo muestra todos los cambios en todo el repositorio (no solo el directorio actual).
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.
Puede utilizar gitk [filename]
para ver el registro de cambios.
Puede utilizar el siguiente comando para ver quién ha cambiado qué en un archivo.
git blame <filename>
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