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
|--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.