
¿Cómo puedo saber qué cambios se hicieron en un archivo ?
Para hacer cambios en un archivo desde la consola, puedes usar el comando nano nombreDelArchivoAModificar.
nano nombreDelArchivoAModificar
cat "Lo que quiero escribir" >> nombreDelArchivoAModificar
Con nano, se abre un editor de texto y ves todo el contenido del archivo. Podrás escribir desde ahí y al hacer ctrol+X te preguntará si quieres guardar los cambios.

En cambio, con cat puedes escribir el texto que quieres añadir y con las «>>» le dices en qué archivo debe añadirlo.
En caso de hacer git status y que aparezca un o varios archivos en rojo, si no estás segura de querer incluir los cambios en el staging puedes hacer una consulta para saber qué se modificó.
Se pueden hacer dos comparaciones:
- Comprobar cambios entre el último commit existente y el working directory (git diff).
- Comprobar cambios entre el último commit existente y lo que ya se pasó al staging (git diff –staged).

Git diff
Working directory contra el último commit (HEAD)
Git diff permite comparar los cambios en el working directory contra una versión previamente aprobada (el último commit que hiciste.
git diff

Por defecto, se muestra como en la imagen de arriba y es poco visual.
Si escribes el comando $ git difftool, en la consola te aparece la opción de utilizar vimdiff para hacer la comparativa. Esta herramienta te divide la pantalla en dos columnas. La de la izquierda te muestra la última versión commiteada del archivo y en la derecha te muestra como está el archivo actualmente (con los cambios).
git difftool

Hay una herramienta que hace esto un poco más agradable a la vista y es tkdiff. Tienes que descargarla de internet. Es gratuita.

Después de descargarla debes descomprimirla y pegar la herramienta dentro de la carpeta bin del directorio user dentro de Git.

Si ejecutas $ git difftool ahora detectará la nueva herramienta y te preguntará si quieres usarla.
git difftool
'tkdiff' [Y/n]? ->y (Escribe la y para usar el tkdiff)

Se abre una ventana emergente con un entorno gráfico más agradable para ver los cambio. Se ve mucho mejor.

Si tienes cabios en varios archivos, te los mostrará uno a uno.

Una vez lo compruebas, haz git add . en la consola para que se guarden los cambios en el staged para poder hacer commit posteriormente.

Working directory contra otro commit que no sea el HEAD
Por defecto, el comando compara el working directory con la última versión, es decir, el llamdo HEAD.
Si deseas compararlo con una versión anterior, debes indicarle el hash-id como parámetro.
Otra cosa a tener en cuenta es que al comparar contra commits, se muestran los cambios hechos en todos los ficheros. Si quieres conocer los cambios en un solo fichero, puedes pasar el nombre del fichero como parámetro.
$git diff hash-id
$git diff nombreFichero.md
$git diff hash-id nombreFichero.md
En la imagen siguiente puedes ver un git status en el que me aparecen cambios hechos en tres archivos y que no he pasado al área de staging. Como no recuerdo los cambios que he hecho en uno de ellos y utilizaré el comando para ver las diferencias en el archivo documento.git

También puedo pedir que me muestre los cambios en un documento concreto.
$git difftool documento


Staged contra commit
En caso de hacer git status y que aparezca un archivo en verde, quiere decir que los cambios están en el Staging para pasar a Commit.
Para comparar los cambios hechos en el archivo que está Staging contra el que está en la última versión commiteada se utiliza el comando $ git diff –staged o $git diff –cached
$git diff --staged
$git diff --cached
Si quieres ver los cambios que se han realizado respecto a dos commit atrás hasta el actual (HEAD) puedes incluir en el comando, el rango que quieres comprobar. Por ejemplo desde la cabecera hasta dos commit atrás.
$git diff HEAD HEAD~2