2010-06-01 18 views
2

J'ai lu ce manuel: http://git-scm.com/docs/gitignoreGit: ignorant tout sauf répertoires

Comme je travaille avec gitosis, j'utilise plutôt une .gitignore que les commandes git explicites. dit ainsi le manuel:

Bien sûr, pas les fichiers de suivi avec git est juste une question de ne pas appeler git ajouter sur eux. Mais il devient rapidement ennuyeux d'avoir ces fichiers non traçés traînant; par exemple. ils font un ajout de git. pratiquement inutile, et ils gardent apparaissant dans la sortie de git statut.

Vous pouvez dire git d'ignorer certains fichiers en créant un fichier appelé .gitignore dans le haut niveau de votre répertoire de travail

Je veux essentiellement ignorer tout, sauf deux répertoires, récursive. Disons que/mywebapp (qui contient deux sous-répertoires comme stylesheets et javascripts) et/mydata sont ces deux répertoires. Maintenant, on m'a déjà dit que git ne suit pas les répertoires, mais seulement les fichiers. Le! -mark exclut, donc je suppose que cela pourrait fonctionner avec les répertoires aussi. J'ai compris que l'utilisation de * ignorerait tout le reste. Comment écrirais-je mon fichier .gitignore?

Ma question n'est pas comment ajouter ces répertoires manuellement en ajoutant explicitement. Ma question est comment cela se fait dans un fichier gitignore.

Merci pour votre aide, vos commentaires et vos commentaires.

Répondre

2

D'abord, le '*' est délégué au fnmatch function qui ne fonctionne pas toujours de la même manière sur toutes les plates-formes.

Avec mon msysgit, je parviens à ignorer tous les sous-répertoires contenu sauf un avec

*/ 
!mySubDir 

Donc dans votre cas:

*/ 
!mywebapp 
!mydata 

Pour utiliser '*' (au lieu de '*/') est un peu trop dans ce cas: il ignorerait tous les fichiers et répertoires ...

+0

Excellent, merci! – Shyam