2010-08-16 17 views
209

C'è un modo per aggiungere tutti i file, non importa quello che fai loro se viene cancellato, non tracciato, ecc.? come per un impegno. Semplicemente non voglio avere git add o git rm tutti i miei file ogni volta che commetto, soprattutto quando sto lavorando su un prodotto di grandi dimensioni.Git aggiunge tutti i file modificati, cancellati e non tracciati?

+6

Vedere: [Differenza di "git add -A" e "git add."] (Http://stackoverflow.com/questions/572549/difference-of-git-add-a-and-git-add) – mahalie

risposta

9

Non sono sicuro che aggiungerà i file cancellati, ma git add . dalla radice aggiungerà tutti i file non tracciati.

+0

vedere la mia risposta su come aggiungere file cancellati –

254

Prova:

git add -A 

Attenzione: partire con git 2.0 (metà del 2013), questo sarà sempre gli stage su tutto l'albero di lavoro.
Se si vuole mettere in scena i file nel percorso corrente del vostro albero di lavoro, è necessario utilizzare:

git add -A . 

Vedi anche: Difference of git add -A and git add .

+0

questo non ha funzionato per me ... come posso mostrare il mio terminale input-output in questa discussione? copia-incolla il mio terminale in uscita come risposta a questa discussione? –

+0

ecco il problema che sto affrontando - http://stackoverflow.com/q/7726131/636762 - gentilmente aiutami su questo per favore –

+0

Questo non può funzionare anche se la tua versione git è vecchia. Stavo eseguendo uno script su un server che eseguiva git 1.5.2.5. git add-A non funzionava. Dallo script non è stato segnalato alcun messaggio di errore. Solo dalla riga di comando ho trovato che -A non era un'opzione legale da aggiungere. – Eponymous

8
git add . 

v'è uno spazio tra add e'. ' (punto in parola). Si fa il lavoro. :)

+1

'git add .' fasi nuove e modificate, * senza eliminato * - http://stackoverflow.com/questions/572549/difference-of-git-add-a-and-git-add –

58

Prova

git add -u 

L'opzione "u" sta per l'aggiornamento. Questo aggiornerà il repository e in realtà eliminerà i file dal repository che hai eliminato nella tua copia locale.

git add -u [filename] 

per eseguire l'eliminazione di un solo file. Una volta premuto, il file non sarà più nel repository.

In alternativa,

git add -A .

è equivalente a

git add . 

git add -u . 

nota l'extra '' su git add -A e git add -u


Attenzione: partire con git 2.0 (metà del 2013), questo sarà sempre gli stage su tutto l'albero di lavoro.
Se si vuole mettere in scena i file nel percorso corrente del vostro albero di lavoro, è necessario utilizzare:

git add -A . 

Vedi anche: Difference of git add -A and git add .

4

ho scritto il progetto G2, un ambiente amichevole per la riga di comando amico amante.
Si prega di ottenere il progetto da github - G2 https://github.com/orefalo/g2

Ha un sacco di comandi a portata di mano, uno dei quali è esattamente ciò che state cercando: freeze

congelamento - bloccare tutti i file nel repository (aggiunte, cancellazioni, modifiche) all'area di staging, in modo da mettere in scena quel contenuto per l'inclusione nel prossimo commit. accettare anche un percorso specifico parametro

4

Questa è la mia alternativa (in qualsiasi bash):

$ git status -s|awk '{ print $2 }'|xargs git add 

Per ripristinare

$ git status -s|awk '{ print $2 }'|xargs git reset HEAD 
30

Volete git add -A:

git add -A stadi Tutti;

git add . fasi nuove e modificate, senza soppresso;

git add -u stadi modificati e cancellati, senza nuovo.

1

Io uso la seguente riga da aggiungere per mettere in scena tutti i file modificati e di nuova creazione, esclusi quelli elencati nella .gitignore:

git add $(git ls-files -mo --exclude-standard) 

(la sintassi $() è per la shell bash). Credo che l'opzione riga di comando -mod dovrebbe aggiungere anche i file cancellati ... Oppure, se si dispone di nomi di file con spazi vuoti, la seguente-liner dovrebbe fare il trucco:

git ls-files -z --deleted --modified --others --exclude-standard | xargs -0 git add 
4

Per nuova versione di Git.

ho provato git add -A e questo viene richiesto,

avvertimento: Il comportamento di 'git aggiungere --all (o -A)' senza argomenti percorso da una sottodirectory dell'albero cambierà in Git 2.0 e non dovrebbe più essere usato . Per aggiungere contenuti per l'intero albero, correre:

git add --all:/(o git add -A: /)

Per limitare il comando nella directory corrente, eseguire:

git Aggiungi tutto . (o git add -A.)

Con la versione Git corrente, il comando è limitato alla directory corrente .


Poi ho cercato di sotto del quale lavorato.

git add --all :/ 
14

git add --allogit add -Aogit add -A .palcoscenici di tutto

git add .Fasi Nuove & Modified Ma Senza eliminati

git add -uFasi modificati & cancellati Ma Senza Nuovo

git commit -a Mezzi git add -u E git commit -m "message"

Dopo aver scritto questo comando attenersi alla seguente procedura: -

  1. stampa i
  2. Scrivi il tuo messaggio
  3. stampa ESC
  4. stampa :wq
  5. stampa immettere

git add <list of files> aggiungere file specifico

git add *.txt aggiungere tutti i file txt nella directory corrente

git add docs/*/txt aggiungere tutti i file txt nella directory docs

git add docs/ aggiungere tutti i file nella directory docs

git add "*.txt" o git add '*.txt' aggiungere tutti i file in tutto il progetto

1

Dalla documentazione Git a partire dalla versione 2.0:

Per aggiungere contenuti per l'intero albero, eseguire:

git add --all :/ 

o

git add -A :/ 

Per limitare il comando nella directory corrente, eseguire:

git add --all . 

o

git add -A . 
1

Questo è quello che uso per mettere in scena tutti i file modificati in una cartella:

git add . 

Grazie!

+1

Questa sembra essere solo una ripetizione di [questa risposta esistente] (https://stackoverflow.com)/a/8680056) e [questa risposta esistente] (https://stackoverflow.com/a/3498057). – Pang

Problemi correlati