Ver los cambios a un file específico usando git

Sé en git, puedo usar el command git diff para verificar los cambios, pero (lo que entendí es que) está basado en el directory. Esto significa que proporciona todos los cambios de todos los files en el directory actual.

¿Cómo puedo verificar solo los cambios en un file específico? Digamos que he cambiado file_1.rb, file_2.rb, …, file_N.rb, pero solo estoy interesado en los cambios en el file file_2.rb. ¿Cómo verificar entonces?

Me gustaría verificar los cambios antes de enviarlos.

Use un command como:

 git diff file_2.rb 

Consulte la documentation de git diff para get información completa sobre los types de cosas para las que puede get diferencias.

Normalmente, git diff por sí mismo muestra todos los cambios en el repository completo (no solo el directory actual).

Puede usar gitk [filename] para ver el logging de cambios

Otro método (mencionado en esta respuesta de SO ) mantendrá el historial en el terminal y le dará un logging muy profundo del file en sí mismo:

git log --follow -p -- file

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

En otras palabras, si el file llamado bar alguna vez se llamó foo, entonces git log -p bar (sin la opción –follow) solo mostrará el historial del file hasta el punto donde fue renombrado – no mostrará el file Historial del file cuando se lo conocía como foo. Usando git log –follow -p bar mostrará el historial completo del file, incluyendo cualquier cambio al file cuando se lo conoce como foo.

Puedes ejecutar

 git status -s 

Esto mostrará el nombre de los files modificados y luego al copyr la ruta del file interesado, puede ver los cambios usando git diff

 git diff <filepath + filename> 

Puede usar el command a continuación para ver quién ha cambiado qué en un file.

git blame <filename>

O si prefiere usar su propia herramienta de interfaz gráfica de usuario:

 git difftool ./filepath 

Puede configurar su herramienta gui guiada por esta publicación: ¿Cómo veo la salida 'git diff' con un progtwig visual diff?