Écrasement des règles de .gitignore
Bien que le fichier .gitignore
soit un outil puissant pour exclure des fichiers et des répertoires d'un dépôt Git, il peut arriver que vous deviez écraser ces règles et inclure des fichiers ou des répertoires spécifiques qui étaient auparavant ignorés.
L'opérateur de négation !
Le symbole !
(point d'exclamation) peut être utilisé dans le fichier .gitignore
pour nier un motif et inclure un fichier ou un répertoire qui serait autrement ignoré.
Par exemple, supposons que vous ayez le fichier .gitignore
suivant :
*.log
!important.log
Dans ce cas, tous les fichiers .log
seront ignorés, sauf le fichier important.log
, qui sera inclus dans le dépôt.
L'option --force
Une autre façon d'écraser les règles de .gitignore
est d'utiliser la commande git add --force
. Cette commande ajoutera un fichier à la zone de préparation (staging area), même s'il correspond à un motif dans le fichier .gitignore
.
Par exemple, pour ajouter le fichier api_key.txt
au dépôt, même s'il est répertorié dans le fichier .gitignore
, vous pouvez exécuter la commande suivante :
git add --force api_key.txt
Cela ajoutera le fichier api_key.txt
à la zone de préparation, et il sera inclus dans la prochaine validation (commit).
L'option --no-ignore
La commande git add --no-ignore
peut également être utilisée pour écraser les règles de .gitignore
. Cette commande ajoutera un fichier à la zone de préparation, même s'il correspond à un motif dans le fichier .gitignore
, et elle ajoutera également le fichier au fichier .gitignore
.
Par exemple, pour ajouter le fichier temp.txt
au dépôt et l'ajouter au fichier .gitignore
, vous pouvez exécuter la commande suivante :
git add --no-ignore temp.txt
Cela ajoutera le fichier temp.txt
à la zone de préparation et l'ajoutera également au fichier .gitignore
, de sorte qu'il sera ignoré dans les futures validations (commits).
En comprenant ces techniques pour écraser les règles de .gitignore
, vous pouvez vous assurer que votre dépôt Git inclut les fichiers nécessaires, même s'ils étaient auparavant exclus.