git add. vs git commit -a


Risposte:


139

git commit -asignifica quasi [*] la stessa cosa di git add -u && git commit.

Non è la stessa cosa che git add .aggiungerebbe file non git add -utracciati che non vengono ignorati, ma solo le modifiche (incluse le eliminazioni) ai file già tracciati.

[*] C'è una sottile differenza se non sei nella directory principale del tuo repository. esegue lo git add -ustage degli aggiornamenti ai file nella directory corrente e di seguito, è equivalente a git add -u .mentre git commit -aesegue lo stage e salva le modifiche su tutti i file tracciati.


3
Il comportamento in [*] cambierà in git 2.0, per coerenza.
user1284631

2
In che direzione? cioè il commit -a diventerà come add -u, o add -u diventerà come commit -a?
Percorso di miglia

5
@MilesRout: git add -udiventerà come git commit -a; dovrai dire esplicitamente git add -u .se questo è ciò che intendi.
CB Bailey

Questo è assolutamente lo stesso da Git v 2.0 dove git add .si comporta in modo diverso.
Nick Volynkin

13

git commit -ainvoca automaticamente git addsu tutti i file di cui è a conoscenza. È possibile utilizzare git addper selezionare i file di cui eseguire il commit. Consulta la documentazione per maggiori informazioni: qui


11
tutti i file di cui è a conoscenza mi sono molto poco chiari, soprattutto perché quelli presumibilmente NON erano stati aggiunti
Nikana Reklawyks

1
@alternative, Tuttavia questa risposta può fare di meglio se aggiungi un chiarimento per "tutti i file che conosce" .....
Pacerier

2
@Pacerier equivalente agit add -u
alternativa

2
@ Z.Khullah, quindi "all (...)" significa "file tracciati"?
TheFrost

1
@TheFrost precisamente!
Z. Khullah,

1

Usando l'opzione git commit -a con il comando commit per "aggiungere" automaticamente le modifiche da tutti i file conosciuti (cioè tutti i file che sono già elencati nell'indice)

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.