Comment exclure un fichier seulement du dossier racine dans Git
je suis au courant de l'utilisation du fichier .gitignore
pour exclure certains fichiers ajoutés, mais j'ai plusieurs fichiers config.php
dans l'arborescence des sources et je dois en exclure un seul, situé dans la racine tandis que les autres restent sous contrôle de révision.
Qu'est-ce que je devrais écrire dans .gitignore
pour que cela arrive?
4 réponses
De la documentation :
si le pattern ne contient pas de slash /, git le traite comme un pattern glob de shell et vérifie une correspondance avec le nom de chemin relatif à l'emplacement du .fichier gitignore (par rapport au niveau supérieur de l'arbre de travail si pas d'un .gitignore fichier).
une barre oblique correspond au début du chemin d'accès. Exemple.*/" ,c" correspond à "chat-fichier.c" mais pas "mozilla-sha1 / sha1.C."
vous devez donc ajouter la ligne suivante à votre racine .gitignore
:
/config.php
les versions plus anciennes de git nécessitent que vous définissiez d'abord un motif ignore et immédiatement (sur la ligne suivante) définissiez l'exclusion. [testé sur la version 1.9.3 (Apple Git-50)]
/config.php
!/*/config.php
les versions suivantes ne requièrent que les [testé sur la version 2.2.1]
/config.php
si la solution ci-dessus ne fonctionne pas pour vous, essayez ceci:
#1.1 Do NOT ignore file pattern in any subdirectory
!*/config.php
#1.2 ...only ignore it in the current directory
/config.php
##########################
# 2.1 Ignore file pattern everywhere
config.php
# 2.2 ...but NOT in the current directory
!/config.php