52 votes

Comment obtenez-vous que git ignore tout le contenu d'un répertoire?

J'ai un répertoire git, qui contient tout un tas de fichiers et dispose alors d'un répertoire nommé "sessions". "sessions" cookie contient des informations pour mon web.py programme.

J'ai besoin du dossier "sessions" à rester dans le dépôt git, parce que, sans le dossier le programme ne fonctionne pas correctement. Je n'ai pas besoin le contenu réel du dossier stocké dans le répertoire git.

La question est donc:

Comment puis-je obtenir git d'ignorer le contenu d'un dossier mais pas le dossier lui-même?

59voto

Mathias V Points 459

Ajouter un fichier sessions / .gitignore avec

 *
!.gitignore
 

La deuxième ligne indique à git de ne pas ignorer le fichier .gitignore, donc le dossier n'est pas vide mais tout le reste est ignoré.

51voto

ceejayoz Points 85962

Si je me souviens bien, vous pouvez le faire en créant un fichier .gitignore dans le dossier sessions avec [^.]* comme contenu.

3voto

VonC Points 414372

Depuis juillet 2007, gitignore ne décrivent l'exclusion des modèles.

Si le modèle se termine par un slash, il est retiré pour le but de la description qui suit, mais il ne serait que de trouver une correspondance avec un répertoire.

En d'autres termes, foo/ va correspondre à un répertoire foo et les chemins d'accès en dessous, mais ne peut pas correspondre à un fichier ou un lien symbolique foo (ce qui est cohérent avec la manière dont pathspec travaille en général dans git).

Comme illustré par ce fil, ce modèle n'est pas toujours exprimé avec un '/' pour le répertoire correspondant.

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