95 votes

Git ajoute tous les sous-répertoires

J'ai des difficultés à ajouter un dossier et tous ses sous-répertoires à mon dépôt git. Je me suis rendu compte que c'est une question très populaire après avoir fait quelques recherches sur Google et j'ai essayé toutes les suggestions sans succès, en particulier la suggestion de la page d'accueil du site Web de l'entreprise. Page de manuel sur git-add . J'ai même essayé git add -A sans succès. Pour simplifier, disons que j'ai initialisé mon dépôt git comme suit Dir1 . J'ai ensuite la structure de répertoire de fichiers suivante.

Dir1/file1-1.txt
Dir1/file1-2.txt
Dir1/Dir2/file2-1.txt
Dir1/Dir2/Dir3/file3-1.txt

Mes fichiers réels ont des sous-répertoires qui s'étendent sur 5-6 niveaux de profondeur, alors existe-t-il une commande git pour ajouter tous les fichiers de chaque sous-répertoire à mon dépôt ? Actuellement, lorsque je fais la suggestion de la page de manuel git add Dir1/\* Je peux voir Dir2 dans mon dépôt, mais il apparaît comme un dossier vert et je ne peux pas l'ouvrir, ce qui m'amène à croire que tous les fichiers/dossiers dans Dir2 n'a pas été ajouté. Toute aide serait grandement appréciée. Je suis un nouvel utilisateur de git (moins d'une semaine d'utilisation), alors essayez de garder vos instructions au niveau d'un débutant.

121voto

Kalle Pokki Points 1383

Faites,

git add .

tout en étant dans la racine du référentiel. Cela ajoutera tout. Si vous faites git add * il n'ajoutera que les fichiers * pointe vers. Le point unique fait référence au répertoire.

Si votre répertoire ou votre fichier n'a pas été ajouté à l'index/repo de git après la commande ci-dessus, n'oubliez pas de vérifier s'il est marqué comme ignoré par git dans le champ .gitignore fichier.

27voto

ngCourse Points 654

Une solution simple :

git rm --cached directory
git add directory

20voto

PaulB Points 6104

Vous pouvez également rencontrer des problèmes si un sous-répertoire est lui-même un dépôt git - c'est-à-dire s'il possède un répertoire .git. ls -a .

Pour supprimer, allez dans le sous-répertoire et rm .git -rf .

6voto

Ian Wright Points 77

J'ai aussi lutté, mais j'ai réussi à taper correctement.

git add -f ./JS/*

où JS est le nom de mon dossier qui contient des sous-dossiers et des fichiers.

1voto

Adam Ruhl Points 1

Je ne peux pas dire avec certitude si c'est le cas, mais ce qui semblait être un problème pour moi était d'avoir des fichiers .gitignore dans certains des sous-répertoires. Encore une fois, je ne peux pas le garantir, mais tout a fonctionné après que ces fichiers aient été supprimés.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X