2010-08-16 9 views
209

Existe-t-il un moyen d'ajouter tous les fichiers, peu importe ce que vous leur faites, qu'il soit supprimé, non suivi, etc.? comme pour un commit. Je ne veux pas avoir à git add ou git rm tous mes fichiers chaque fois que je m'engage, surtout quand je travaille sur un grand produit.Git ajouter tous les fichiers modifiés, supprimés et non suivis?

+6

Voir: [différence de « git ajouter -A » et «git add »] (http://stackoverflow.com/questions/572549/difference-of-git-add-a-and-git-add) – mahalie

Répondre

9

Je ne suis pas sûr si elle va ajouter des fichiers supprimés, mais git add . de la racine va ajouter tous les fichiers non-suivis.

+0

voir ma réponse sur la façon d'ajouter des fichiers supprimés –

254

Essayez:

git add -A 

Attention: A partir de git 2.0 (mi-2013), cela toujours fichiers de scène sur l'arbre de travail tout.
Si vous souhaitez mettre en scène les fichiers sous le chemin actuel de votre arbre de travail, vous devez utiliser:

git add -A . 

Voir aussi: Difference of git add -A and git add .

+0

cela n'a pas fonctionné pour moi ... comment puis-je montrer mon terminal d'entrée-sortie dans cette discussion? copier-coller ma sortie de terminal comme une réponse à cette discussion? –

+0

ici est le problème que je suis face - http://stackoverflow.com/q/7726131/636762 - bien vouloir me aider sur celui-ci s'il vous plaît –

+0

Cela peut aussi ne pas fonctionner si votre version git est ancienne. J'exécutais un script sur un serveur qui exécutait git 1.5.2.5. git add -A ne fonctionnait pas. À partir du script, aucun message d'erreur n'a été signalé. Seulement à partir de la ligne de commande, j'ai trouvé que -A n'était pas une option légale à ajouter. – Eponymous

8
git add . 

il y a un espace entre les ajouter et le ». ' (point dans le mot). Il fait le travail. :)

+1

'git add .' étapes nouvelles et modifiées, * sans effacement * - http://stackoverflow.com/questions/572549/difference-of-git-add-a-and-git-add –

58

Essayez

git add -u 

L'option "u" signifie mise à jour. Cela mettra à jour le repo et supprimera réellement les fichiers du repo que vous avez supprimés dans votre copie locale.

git add -u [filename] 

de supprimer un seul fichier. Une fois poussé, le fichier ne sera plus dans le repo.

Alternativement,

git add -A .

est équivalent à

git add . 

git add -u . 

Notez extra '' sur git add -A et git add -u


Attention: A partir de git 2.0 (mi-2013), cela toujours fichiers de scène sur l'arbre de travail tout.
Si vous souhaitez mettre en scène les fichiers sous le chemin actuel de votre arbre de travail, vous devez utiliser:

git add -A . 

Voir aussi: Difference of git add -A and git add .

4

J'authored le projet G2, un environnement convivial pour la ligne de commande git amant.
S'il vous plaît obtenir le projet de github - G2 https://github.com/orefalo/g2

Il a un tas de commandes à portée de main, l'un d'entre eux étant exactement ce que vous êtes à la recherche pour: freeze

gel - Gel de tous les fichiers dans le référentiel (ajouts, suppressions, modifications) à la zone de transit, mettant ainsi en place ce contenu pour inclusion dans la prochaine validation. accepter également un chemin spécifique en tant que paramètre

4

Ceci est mon autre (dans toute bash):

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

Pour réinitialiser

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

Vous voulez git add -A:

git add -A étapes Tous;

git add . étapes nouvelles et modifiées, sans suppression;

git add -u étapes modifiées et supprimées, sans nouveau.

1

J'utilise la ligne suivante pour ajouter pour mettre en scène tous les fichiers modifiés et nouvellement créés, à l'exclusion ceux énumérés dans .gitignore:

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

(la syntaxe $() est pour le shell bash). Je suppose que l'option de ligne de commande -mod devrait également ajouter les fichiers supprimés ... Ou, si vous avez des noms de fichiers avec des blancs intégrés, la seule ligne suivante devrait faire l'affaire:

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

Pour version plus récente de Git.

J'ai essayé git add -A et ce qui a incité,

Avertissement: Le comportement de 'git add --all (ou -A)' sans argument de chemin à partir d'un sous-répertoire de l'arbre qui va changer dans Git 2.0 et ne devrait plus être utilisé plus . Pour ajouter du contenu pour l'arbre entier, exécutez:

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

Pour limiter la commande dans le répertoire courant, exécutez:

git tout ajouter . (ou git add -A.)

Avec la version actuelle de Git, la commande est limitée au répertoire actuel.


Alors j'ai essayé ci-dessous qui travaillé.

git add --all :/ 
14

git add --allougit add -Aougit add -A .les scènes

git add .étapes nouvelles & Modifié Mais Sans Deleted

git add -uétapes modifiées & supprimés Mais sans nouvelle

git commit -a Moyens git add -u Et git commit -m "message"

Après avoir écrit cette commande procédez comme suit: -

  1. presse i
  2. écrire votre message
  3. presse esc
  4. presse :wq
  5. presse entrer

git add <list of files> Ajouter un fichier spécifique

git add *.txt ajouter tous les fichiers txt dans le répertoire courant

git add docs/*/txt ajouter tous les fichiers txt dans le répertoire docs

git add docs/ ajouter tous les fichiers dans le répertoire docs

git add "*.txt" ou git add '*.txt' ajouter tous les fichiers dans l'ensemble du projet

1

A partir de la documentation de Git à partir de la version 2.0:

Pour ajouter du contenu pour l'arbre entier, exécutez:

git add --all :/ 

ou

git add -A :/ 

Pour limiter la commande dans le répertoire courant, exécutez:

git add --all . 

ou

git add -A . 
1

C'est ce que je l'utilise pour mettre en scène tous les fichiers modifiés dans un dossier:

git add . 

Merci!

+1

Cela semble être juste une répétition de [cette réponse existante] (https://stackoverflow.com/a/8680056) et [cette réponse existante] (https://stackoverflow.com/a/3498057). – Pang

Questions connexes