Qual è la differenza tra git add -A e git add? Sta tutta nel decidere quali modifiche decidiamo di registrare nel prossimo commit: ne parlo proprio in questo articolo!
Quando si tratta di registrare delle modifiche effettuate ai file presenti nel nostro repository, stiamo “banalmente” eseguendo un commit.
Ciao mi chiamo Lorenzo Neri e sono un informatico: realizzo contenuti per aiutare le persone a padroneggiare l’arte del nuovo millennio, ovvero l’informatica!
Delle volte, può tornare comodo per pigrizia o per immediatezza, avere qualcosa che ci permetta di velocizzare il processo.
E ironia della sorte, il flag “-A” su cui ti stai facendo la fatidica domanda, ovvero quale sia la differenza tra usare “git add -A” oppure “git add”… Verte proprio su questo.
Git add -A è un “facilitatore”
Dicevo prima che ci sono quei momenti della giornata in cui vuoi registrare un commit per una serie di modifiche fatte ai file del tuo progetto e… Magari ti trovi a dover registrare qualcosa come 100 file diversi.
Chiaro, magari ti suggerirei di non arrivare ad avere così tanti file da registrare: ma non è il luogo e il momento adatto per parlare di ciò.
Il problema però rimane.
Hai due opzioni di fronte a te: la prima, eseguire una “git add” a mano di ogni singolo file.
Ce ne sarebbe una terza, che consiste nell’agire sulle estensioni dei file, ma arriviamo alla seconda che è il motivo per cui stai leggendo queste righe.
Te lo mostro con un esempio molto diretto.
Se eseguo il comando “git status” sul mio repo, mi trovo in questa situazione:
git status
On branch master
Untracked files:
(use "git add <file>..." to include in what will be committed)
ciao
informaticorighe.py
Quindi, mi trovo due file di tipo diverso da committare.
La soluzione uno l’abbiamo detta prima, ma non ci piace.
La soluzione due, ci permette di aggiungere in un colpo solo tutti e due i file:
git add -A
E di fatto il risultato sarà questo:
git status
On branch master
Changes to be committed:
(use "git reset HEAD <file>..." to unstage)
new file: ciao
new file: informaticorighe.py
La differenza tra git add -A e git add è proprio questa: il flag “-A” registra tutti i file che hanno subito modifiche o che sono stati creati pronti per essere committati.
Ora che hai visto quale sia la differenza nell’usare o meno il flag “-A”, c’è un piccolo suggerimento che mi sento di darti.
Se ne infischia di estensioni, nomi e modifiche particolari

Chiaramente usare “git add -A” ci risparmia una grande fatica: ma non fa distinzioni.
Questo significa che, qualsiasi cosa che subisca delle modifiche o sia stata aggiunta al repository, questa verrà considerata dal comando.
A prescindere dalle estensioni, dal nome e da modifiche che hai fatto in particolare: certo, tiene sempre conto del “.gitignore”.