Quelle est la différence entre git add -A et git add . ?
Les commandes git add -A et git add . peuvent avoir le même fonctionnement mais ce n'est pas toujours le cas.
La commande git-add indexe les modifications qui ont été faites dans les fichiers du répertoire de travail et prépare ainsi le prochain commit. Elles possèdent de nombreux arguments qui modifient son fonctionnement. Les commandes git add -A et git add . peuvent avoir le même fonctionnement mais ce n'est pas toujours le cas. Cela dépend de la version de git utilisée.
Dans la version 1 de git (pour n'importe quelle version mineure), les deux commandes n'ont pas le même effet. La commande git add . examine le répertoire de travail et cherche les fichiers qui ont été modifiés ainsi que ceux qui ont été ajoutés. Les fichiers qui ont été supprimés ne sont pas pris en compte. Si l'on souhaite prendre en compte uniquement les fichiers supprimés et modifiés (et non pas les nouveaux fichiers), il faut utiliser la commande git add -u. La commande git add -A est un raccourci qui lance ces deux commandes. Elle permet donc de prendre en compte les nouveaux fichiers, ceux qui ont été modifiés et les fichiers qui n'existent plus.
Depuis la version 2.0 de git, le fonctionnement de la commande git add . a changé. Cette commande prend maintenant en compte les fichiers supprimés. En conséquence, les commandes git add -A et git add . ont strictement le même effet. Si vous souhaitez utiliser une commande ayant le même effet que la commande git add . dans la version 1.0, c'est-à-dire préparer les changements en ignorant les fichiers supprimés, il faut alors utiliser la commande git --ignore-removal ..