Voici ma structure de dossiers:
data/
.gitignore
uploads/
.gitignore
Je voudrais valider les dossiers mais pas les fichiers qu'ils contiennent.
J'ajoute donc un fichier .gitignore dans chaque dossier avec le contenu suivant:
# Ignore everything in this directory
*
# Except this file
!.gitignore
Le problème est que *
correspond également aux répertoires, donc git ne fait que suivre data/.gitignore
La solution est assez simple, ajoutez !*/
aux fichiers .gitignore et seuls les fichiers du dossier actuel seront ignorés
# Ignore everything in this directory
*
# Except this file
!.gitignore
# Except folders
!*/
Veuillez ne pas abuser .gitignore
des dossiers. Mieux vaut s'en tenir aux méthodes par défaut pour que les développeurs ultérieurs puissent rapidement entrer dans votre projet.
.gitkeep
fichier dans les dossiers que vous souhaitez valider sans les fichiersExclure les dossiers, mais pas le .gitkeep
de votre principal.gitignore
fichier.
folder/*
!folder/.gitkeep
Cela ignore tous les fichiers d'un dossier, mais pas le .gitkeep
fichier. Maintenant, le dossier sera validé avec uniquement le .gitkeep
fichier en tant que contenu.