Inizializza un nuovo progetto.
$ mkdir progetto$ progetto cd
$ git init
Repository Git vuoto inizializzato in /Users/zakh_eecs/_work/LearnGIT/git_add/project/.idiota/
$ echo "Nuovo progetto" > Leggimi.TXT
$ git add Leggimi.TXT
$ git commit -m "Commit iniziale"
[master (root-commit) 47b9af1] commit iniziale
1 file modificato, 1 inserimento(+)
crea modalità 100644 Leggimi.TXT
In questo progetto abbiamo aggiunto un ReadMe.file 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 solo file 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
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 un.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 $ tocca x.txt si.txt z.TXT
$ git add -A
$ git stato
Sul maestro di filiale
Modifiche da commettere:
(usa "git reset HEAD
nuovo file: x.TXT
nuovo file: y.TXT
nuovo file: z.TXT
$ git commit -m "Aggiungi x.txt, sì.txt, z.TXT"
[master 8af8c12] Aggiungi x.txt, sì.txt, z.TXT
3 file modificati, 0 inserimenti(+), 0 eliminazioni(-)
crea modalità 100644 x.TXT
crea modalità 100644 y.TXT
crea modalità 100644 z.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.TXT$ mkdir new
$ cd nuovo
$ tocco m.txt n.txt o.TXT
$ git add .
$ git stato
Sul maestro di filiale
Modifiche da commettere:
(usa "git reset HEAD
nuovo file: m.TXT
nuovo file: n.TXT
nuovo file: o.TXT
File non tracciati:
(usa "git add
…/1.TXT
Notare che Git non ha aggiunto l'1.txt nella cartella di livello superiore.
Se abbiamo creato una cartella chiamata nidificata con d.txt e usa git add. comando di nuovo, vediamo che o.txt è stato aggiunto ma 1.txt non è ancora stato aggiunto.
$ mkdir annidato$ touch annidato/d.TXT
$ git add .
$ git stato
Sul maestro di filiale
Modifiche da commettere:
(usa "git reset HEAD
nuovo file: m.TXT
nuovo file: n.TXT
nuovo file: annidato/d.TXT
nuovo file: o.TXT
File non tracciati:
(usa "git add
…/1.TXT
Ora usiamo il comando git add -A:
$ git add -A$ git stato
Sul maestro di filiale
Modifiche da commettere:
(usa "git reset HEAD
nuovo file: … /1.TXT
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
'-- nidificato
|--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. Puoi usare la gerarchia della directory naturale dei tuoi codici per controllare cosa viene aggiunto.
Ulteriori studi:
- https://git-scm.com/docs/git-add
- Git: impara il controllo della versione con Git: una guida completa per principianti passo dopo passo
- Controllo della versione con Git: potenti strumenti e tecniche per lo sviluppo di software collaborativo
- Pro Git, 2a edizione