Dans le processus d’utilisation de Git, nous aimons que des fichiers tels que les journaux, fichiers temporaires, fichiers intermédiaires compilés, etc., ne soient pas soumis au dépôt de code, donc nous devons définir des règles d’ignorance correspondantes pour ignorer le commit de ces fichiers.
Git ignore la méthode des commits de fichiers
Il y a trois façons d’ignorer les fichiers que vous ne voulez pas faire commit dans Git.
Définissez le fichier .gitignore dans votre projet Git
Cela est géré en définissant un fichier .gitignore dans un dossier du projet, où sont définies les règles d’ignorance correspondantesDossier actuelLe comportement de commit Git du fichier sous le .gitignore peuvent être soumis à des dépôts publics, ce qui signifie que tous les développeurs du projet partagent un ensemble défini de règles d’ignorance. Dans le fichier .gitingore, spécifiez une règle d’ignorance sur chaque ligne, en suivant la syntaxe correspondante. Par exemple :
Spécifiez les fichiers d’exclusion dans les paramètres du projet Git
Il s’agit simplement d’une spécification temporaire du comportement du projet, qui nécessite d’éditer le fichier .git/info/exclude sous le projet en cours, puis d’écrire le fichier pour lequel le commit doit être ignoré. Notez que le répertoire racine des fichiers ignorés spécifiés de cette manière est la racine du projet.
Un fichier .gitignore qui définit le Git global
En plus de pouvoir définir des fichiers .gitignore dans votre projet, vous pouvez aussi configurer un fichier global git .gitignore pour gérer le comportement de tous les projets Git. Cette approche n’est pas partagée entre différents développeurs de projets, et constitue un comportement au niveau de l’application Git au-dessus du projet.
Cela nécessite également de créer un fichier .gitignore correspondant, qui peut être placé n’importe où. Ensuite, configurez Git avec la commande suivante :
Git ignore les règles
Pour des règles détaillées d’ignorance, veuillez consulter la documentation officielle en anglais à l’adresse :La connexion hyperlientérée est visible.
Git ignore la priorité des règles
Dans le fichier .gitingore, spécifiez une règle d’ignorance pour chaque ligne, et Git vérifie la présence de plusieurs sources lors de l’ignorance des règles, avec la priorité suivante (de la plus haute à la plus basse) :
- Lisez les règles d’ignorance disponibles depuis la ligne de commande
- Les règles définies par le répertoire courant
- Les règles définies par le répertoire parent sont récursives
- $GIT_DIR/info/exclude fichier
- core.excludesfile
Git ignore la syntaxe de correspondance des règles
Dans le fichier .gitignore, la syntaxe de la règle ignore pour chaque ligne est la suivante :
- Les espaces qui ne correspondent pas à des fichiers arbitraires peuvent être utilisés comme séparateurs et peuvent être échappés avec des barres oblique inverses
- # Le commentaire d’identification du fichier au début peut être évité à l’aide d’une barre oblique inverse
- ! L’identification du schéma au début est négative, et le fichier sera à nouveau inclus ; si le répertoire parent du fichier est exclu, utilisez ! ne sera plus inclus. L’évasion peut se faire à l’aide d’une barre inverse
- / 结束的模式只匹配文件夹以及在该文件夹路径下的内容,但是不匹配该文件
- / 开始的模式匹配项目跟目录
- Si un motif ne contient pas de barre oblique, il correspond au contenu par rapport au chemin du fichier .gitignore actuel, et si le motif n’est pas dans le fichier .gitignore, par rapport à la racine du projet
- ** Les catalogues multi-niveaux correspondants peuvent être utilisés au début, au milieu et à la fin
- ? Appariement universel de caractères individuels
- [ ] Liste universelle des correspondances individuelles
Exemples courants de correspondance :
- bin/ : ignore le dossier bin sous le chemin courant, tout ce qui se trouve dans ce dossier est ignoré, pas le fichier bin
- /bin: 忽略根目录下的bin文件
- /*.c: 忽略 cat.c,不忽略 build/cat.c
- déboguer/*.obj : Ignorer déboguer/io.obj, ne pas ignorer débogage/commun/io.obj et outils/débogage/io.obj
- **/foo : ignorer /foo, a/foo, a/b/foo, etc
- A/**/B : IGNORER A/B, A/X/B, A/X/Y/B, ETC
- !/bin/run.sh : N’ignorez pas run.sh fichiers dans le répertoire bin
- *.log : Ignorez tous .log fichiers
- config.php: 忽略当前路径的 config.php 文件
.gitignore n’entre pas en vigueur
.gitignore ne peut ignorer que les fichiers qui ne sont pas suivis à l’origine, et modifier .gitignore est inefficace si certains fichiers ont déjà été inclus dans le traitement des versions.
La solution consiste à supprimer le cache local (le changer en état non suivi) avant de valider :
(Fin)
|