Gitignore tous les dossiers commençant par une période de
Je veux utiliser un .gitignore
fichier à ignorer tous les dossiers commençant par un point (les dossiers cachés de linux).
Je ne peux pas comprendre la syntaxe, mais je suis sûr que c'est simple.
Comment est-il fait?
Il n'est pas un doublon de cette question ici uniquement de point-dossiers voulait, pas aussi dot-fichiers.
OriginalL'auteur cjm2671 | 2016-04-28
Vous devez vous connecter pour publier un commentaire.
Utiliser l'un de ces modèles:
What is this pattern?
.*
- Cette formulation indique à git d'ignorer tous les fichiers qui commence par
.
!
- Ceci indique à git de ne pas ignorer le motif. Dans votre cas/.gitignore
Une démo peut être trouvée dans cette réponse:
Git: comment faire pour ignorer les fichiers cachés /dot fichiers /les fichiers avec les noms de fichiers via .gitignore?
.gitignore
explicitement est probablement descriptif, mais inutile si .gitignore sont déjà suivis, ou ajouté avec-f
. 🙂 D'ailleurs, il ne répond pas à la question de l'OP juste demandé pour les dossiers pas les fichiersVous avez raison, j'ai manqué de les dossiers. il devrait être ** pour les dossiers 🙂
Pas de. il voulait uniquement dossiers et de votre deuxième chose fait la même chose que la première.
.*
va correspondre à tout ce qui commence par un point (fichiers et dossiers),.*/
va correspondre à tout ce qui commence par un point qui est un dossierJe sais, je lui ai montré les modèles, il peut prendre ce dont il a besoin. je suis d'accord
Eh bien, il ne peut pas. Comme il a accepté, je suppose qu'il ne voulait pas dire ce qu'il a dit. Mais votre réponse est tout simplement faux.
.*
ne pas ignorer tous les dot-files, mais dot-fichiers et dot-dossiers et.**
devrait être le même. Ignorant seulement le point-dossiers serait encore.*/
. 🙂OriginalL'auteur CodeWizard
.*/
va correspondre à tout ce qui commence par un point, et c'est un dossierAvec la commande suivante vous pouvez tester:
mkdir test && cd test && git init && mkdir -p .foo .foo/.bar foo/.bar && touch .foo/dummy .foo/.bar/dummy foo/.bar/dummy && git add . && git status && echo '.*/'>.gitignore && git reset && git add . && git status
OriginalL'auteur Vampire
Vous devriez être en mesure d'utiliser le double astérisque, ce qui représente répertoires à n'importe quelle profondeur.
.*/
être assez? Devrait fonctionner afair. Mise à jour: oui, c'estIl serait si il ne veut que le premier niveau de répertoires pour être ignoré. Il a dit "tout" si. Cela permettrait d'inclure des répertoires dans le répertoire de profondeur.
Qui fonctionne très bien avec
.*/
Essayez la commande suivante et vous verrez qu'elle fonctionne très bien:
mkdir test && cd test && git init && mkdir -p .foo .foo/.bar foo/.bar && touch .foo/dummy .foo/.bar/dummy foo/.bar/dummy && git add . && git status && echo '.*/'>.gitignore && git reset && git add . && git status
Pourriez-vous nous donner un exemple? Disons que j'ai un dossier nommé
IgnoreMe
et il s'affiche avec le même nom dans différents endroits et profondeurs dans le référentiel. Comment ai-je pu ignorer son contenu?OriginalL'auteur eddiemoya