Je suis conscient de l’utilisation du fichier .gitignore
pour exclure certains fichiers, mais j’ai plusieurs fichiers config.php
dans l’arborescence source et j’ai besoin d’en exclure un, situé à la racine, tandis que d’autres gardent le contrôle de révision.
Qu'est-ce que je devrais écrire dans .gitignore
pour que cela se produise?
De la documentation :
Si le motif ne contient pas de barre oblique /, git le traite comme un motif global de shell et recherche une correspondance avec le chemin d'accès par rapport à l'emplacement du fichier .gitignore (par rapport au niveau supérieur de l'arbre de travail s'il ne provient pas d'un fichier .gitignore fichier).
Une barre oblique correspond au début du chemin. Par exemple, "/*.c" correspond à "cat-file.c" mais pas à "mozilla-sha1/sha1.c".
Vous devez donc ajouter la ligne suivante à votre racine .gitignore
:
/config.php
Utilisez /config.php
.
Les anciennes versions de git exigent que vous définissiez d’abord un motif ignorer puis immédiatement (sur la ligne suivante) la définition de l’exclusion. [testé sur la version 1.9.3 (Apple Git-50)]
/config.php
!/*/config.php
Les versions ultérieures ne nécessitent que les éléments suivants [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