Git Aggiungi tutti i file modificati

Git Add All Modified Files



Quando hai a che fare con Git add, hai più opzioni per aggiungere tutti i file modificati. Diamo un'occhiata ad alcuni scenari per capire le possibilità.

Inizializza un nuovo progetto.







$mkdirprogetto

$cdprogetto

$git init
Repository Git vuoto inizializzatoin /Utenti/zakh_eecs/_opera/ImparaGIT/git_add/progetto/.andare/

$buttato fuori 'Nuovo progetto' >Leggimi.txt

$git addLeggimi.txt

$git commit -m 'Impegno iniziale'
[maestro(root-commit)47b9af1]Impegno iniziale
1 filecambiato,1inserimento(+)
modalità di creazione100644Leggimi.txt

In questo progetto abbiamo aggiunto un file ReadMe.txt. Abbiamo usato il comando git add per aggiungere il ReadMe.txt. Il comando add non serve solo per aggiungere file. Aggiunge anche qualsiasi modifica al file. Per questo tutorial, aggiungeremo ed elimineremo file solo per semplificare le cose. Ma pensa al comando add come all'aggiunta di modifiche all'area di staging. Quindi, devi usare il comando commit per rendere ufficiali le modifiche.



Quando hai a che fare con molti file e cartelle, è difficile aggiungere singolarmente ogni modifica. Quindi puoi usare i seguenti comandi:



$git add.
$git add -A

Vediamo come si comportano i due comandi:





$ tocca a.txt b.txt c.txt

$git add.

$ git stato
Sul maestro di filiale
Modifiche da commettere:
(usa 'git reset HEAD ...' per togliere lo stage)

nuovo file: a.txt
nuovo file: b.txt
nuovo file: c.txt

$ git commit -m 'Aggiungi a.txt, b.txt, c.txt'
[master 9ca90fc] Aggiungi a.txt, b.txt, c.txt
3 file modificati, 0 inserimenti(+), 0 eliminazioni(-)
crea modalità 100644 a.txt
crea modalità 100644 b.txt
crea modalità 100644 c.txt $toccox.txt y.txt z.txt

$git add -A

$stato git
Sul maestro di filiale
Modifiche da commettere:
(utilizzo'git resetta TESTA ...'smontare)

nuovo file: x.txt
nuovo file: y.txt
nuovo file: z.txt

$git commit -m 'Aggiungi x.txt, y.txt, z.txt'
[maestro 8af8c12]Aggiungi x.txt, y.txt, z.txt
3file modificati,0inserzioni(+),0cancellazioni(-)
modalità di creazione100644x.txt
modalità di creazione100644y.txt
modalità di creazione100644z.txt

Entrambe le opzioni sembrano funzionare allo stesso modo.

Per indagare ulteriormente, creiamo una situazione in cui aggiungiamo qualcosa al livello principale della directory di lavoro e quindi aggiungiamo più file in una cartella:



$tocco 1.testo

$mkdirnuovo

$cdnuovo

$toccom.txt n.txt o.txt

$git add.

$stato git
Sul maestro di filiale
Modifiche da commettere:
(utilizzo'git resetta TESTA ...'smontare)

nuovo file: m.txt
nuovo file: n.txt
nuovo file: o.txt

File non tracciati:
(utilizzo'aggiungi...'includereincosa sarà commesso?)

../1.testo

Nota che Git non ha aggiunto il file 1.txt nella cartella di livello superiore.

Se abbiamo creato una cartella chiamata nested con il file d.txt e usiamo il file git add. comando di nuovo, vediamo che o.txt è stato aggiunto ma 1.txt non è ancora stato aggiunto.

$mkdirnidificato

$tocconidificato/d.txt

$git add.

$stato git
Sul maestro di filiale
Modifiche da commettere:
(utilizzo'git resetta TESTA ...'smontare)

nuovo file: m.txt
nuovo file: n.txt
nuovo file: annidato/d.txt
nuovo file: o.txt

File non tracciati:
(utilizzo'aggiungi...'includereincosa sarà commesso?)

../1.testo

Ora usiamo il comando git add -A:

$git add -A

$stato git
Sul maestro di filiale
Modifiche da commettere:
(utilizzo'git resetta TESTA ...'smontare)

nuovo file: ../1.testo
nuovo file: m.txt
nuovo file: n.txt
nuovo file: annidato/d.txt
nuovo file: o.txt

Ora, 1.txt nella cartella è stato aggiunto all'area di staging.
Ecco come appaiono le cartelle

progetto
|--1.txt
|--Leggimi.txt
|--a.txt
|--b.txt
|--c.txt
|--x.txt
|--y.txt
|--z.txt
`-- nuovo
|--m.txt
|--n.txt
|--o.txt
`-- annidato
|--d.txt

Quindi, quando usi git add . comando, aggiungerà tutte le modifiche da quel livello. Ma quando usi l'opzione git add -A, cercherà le modifiche in tutto il modulo e le aggiungerà.

Conclusione

Il comando Git add fornisce potenti modi per aggiungere file modificati. È possibile utilizzare la gerarchia di directory naturale dei codici per controllare ciò che viene aggiunto.

Ulteriori studi: