GIT ADD

Este comando añade ficheros o partes de estés para commitear, es decir prepara el contenido para proximo commit.

Este comando se puede ejecutar varias veces antes de realizar el commit.

No se podrá añadir ficheros que hayan sido ignorados en gitignore, tampoco nos aparecerán en git status.

git add

Añade el fichero si se modifico o elimino.

git add .

El (.) indica todos los fichero que siguen en la ruta que estes, en vez de fichero a fichero.

Una forma añadir ficheros de una forma mas interactiva ( muchas opciones):

git add -i

Donde nos muestra un menu como este:

*** Commands *** 
1: status   2: update   3: revert   4: add untracked
5: patch   6: diff   7: quit   8: help

Seleccionando cualquiera de las opciones , nos permite con simple numero , y secuencias como 1-12, 13 ,15 añadir varios ficheros a la vez... marcándolos con * cuando estén añadidos.

Si quiero añadir solo una parte de un cambio no todo el fichero

En ocasiones puede suceder que necesitemos añadir parte de los cambios de un fichero, por ejemplo para marcar un cambio importante en ese fichero

git add -p fichero

Git identifica cambios y te los va mostrando, preguntando

Stage this hunk [y,n,q,a,d,/,j,J,g,s,e,?]?

Donde si pulsamos:

[y] -> Lo añade al siguiente commit.
[n] -> No lo añade al commit.
[q] -> Salir.
[s] -> Esta opcion la muestra cuando es un grupo cambios que identifica git, entonces si pulsamos [s] la corta y muestra un trozo. [ ] .... El resto opciones de momento no se...

Cuando pille a Guillermo por banda le preguntaré el resto opciones.. :-)

Ver que añadi y que no con git add -p

Si queremos ver lo que nos falta por añadir de un fichero simplement con

git diff fichero

Si queremos ver añadimos, lo que tenemos preparado para el commit

git diff --.cached fichero