1453 votes

.gitignore exclure un dossier mais inclure un sous-dossier spécifique

J'ai le dossier application/ que j'ajoute à la .gitignore . A l'intérieur de la application/ le dossier est le dossier application/language/gr . Comment puis-je inclure ce dossier ?

J'ai essayé ceci

application/
!application/language/gr/

sans succès...

1 votes

Espérons que le " .gitignore La documentation sur le "format de motif" vient d'être clarifiée (décembre 2013). Voir ma réponse ci-dessous

1 votes

Ma question et réponse préférée, ajoutée aux favoris ainsi qu'aux signets du navigateur.

2 votes

7voto

Derek Points 11

Ajoutez une réponse supplémentaire :

!/.vs/              <== include this folder to source control, folder only, nothing else
/.vs/*              <== but ignore all files and sub-folder inside this folder
!/.vs/ProjectSettings.json <== but include this file to source control
!/.vs/config/       <== then include this folder to source control, folder only, nothing else
!/.vs/config/*      <== then include all files inside the folder

voici le résultat :

enter image description here

2 votes

C'est la réponse la plus utile pour moi, car les images m'ont aidé. Merci !

7voto

John Points 20

Gitignore - Spécifie les fichiers non suivis intentionnellement à ignorer.

Exemple pour exclure tout sauf un répertoire spécifique foo/bar (notez le /* - sans la barre oblique, le caractère générique exclurait également tout ce qui se trouve à l'intérieur de foo/bar ):

$ cat .gitignore
# exclude everything except directory foo/bar
/*
!/foo
/foo/*
!/foo/bar

Un autre exemple pour WordPress :

!/wp-content
wp-content/*
!/wp-content/plugins
wp-content/plugins/*
!wp-content/plugins/my-awesome-plugin

Plus d'informations ici : https://git-scm.com/docs/gitignore

6voto

garbo Points 89

Cela a marché pour moi :

**/.idea/**
!**/.idea/copyright/
!.idea/copyright/profiles_settings.xml
!.idea/copyright/Copyright.xml

0 votes

C'est la bonne réponse. Le ** l'a fait.

4voto

Breit Points 309

En particulier pour les anciennes versions de Git, la plupart des suggestions ne fonctionneront pas aussi bien. Si c'est le cas, je mettrais un .gitignore séparé dans le répertoire où je veux que le contenu soit inclus indépendamment des autres paramètres et j'y autoriserais ce qui est nécessaire.

Par exemple : /.gitignore

# ignore all .dll files
*.dll

/dependency_files/.gitignore

# include everything
!*

Ainsi, tout ce qui se trouve dans /dependency_files (même les fichiers .dll) est inclus sans problème.

4voto

snm-yah Points 2067

Dans WordPress, cela m'a aidé :

wp-admin/
wp-includes/
/wp-content/*
!wp-content/plugins/
/wp-content/plugins/*
!/wp-content/plugins/plugin-name/
!/wp-content/plugins/plugin-name/*.*
!/wp-content/plugins/plugin-name/**

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