Android

Ignorer les fichiers et répertoires dans git (.gitignore)

Git - Ignorer les fichiers

Git - Ignorer les fichiers

Table des matières:

Anonim

Souvent, lorsque vous travaillez sur un projet qui utilise Git, vous souhaiterez exclure des fichiers ou des répertoires spécifiques d'être poussés vers le référentiel distant.

Le fichier .gitignore spécifie les fichiers non suivis que Git doit ignorer.

Quels fichiers doivent être ignorés?

Les fichiers ignorés sont généralement des fichiers spécifiques à la plate-forme ou des fichiers créés automatiquement à partir des systèmes de génération. Voici quelques exemples courants:

  • Fichiers d'exécution tels que journal, verrouillage, cache ou fichiers temporaires Fichiers contenant des informations sensibles, tels que mots de passe ou clés API Code codé, tel que .class ou .o . Répertoires de dépendance, tels que /vendor ou /node_modules .Build répertoires, tels que /public , /out ou /dist Fichiers système tels que .DS_Store ou Thumbs.db IDE ou fichiers de configuration de l'éditeur de texte.

.gitignore

Un fichier .gitignore local est généralement placé dans le répertoire racine du référentiel. Cependant, vous pouvez créer plusieurs fichiers .gitignore dans différents sous-répertoires de votre référentiel. Les modèles dans les fichiers .gitignore sont mis en correspondance par rapport au répertoire où réside le fichier.

Les modèles définis dans les fichiers qui résident dans des répertoires de niveau inférieur (sous-répertoires) ont priorité sur ceux des répertoires de niveau supérieur.

Les fichiers .gitignore locaux sont partagés avec d'autres développeurs et doivent contenir des modèles utiles à tous les autres utilisateurs du référentiel.

Règles d'ignorance personnelles

Les modèles qui sont spécifiques à votre référentiel local et ne doivent pas être distribués à d'autres référentiels, doivent être définis dans le .git/info/exclude .

Par exemple, vous pouvez utiliser ce fichier pour ignorer les fichiers générés à partir de vos outils de projet personnels.

Global .gitignore

Git vous permet également de créer un fichier global .gitignore , où vous pouvez définir des règles d' .gitignore pour chaque référentiel Git sur votre système local.

Le fichier peut être nommé comme vous le souhaitez et stocké dans n'importe quel emplacement. L'endroit le plus courant pour conserver ce fichier est le répertoire personnel. Vous devrez créer manuellement le fichier et configurer Git pour l'utiliser.

Par exemple, pour définir ~/.gitignore_global tant que fichier global Git ignore, vous devez procéder comme suit:

  1. Créez le fichier:

    touch ~/.gitignore_global

    Ajoutez le fichier à la configuration Git:

    git config --global core.excludesfile ~/.gitignore_global

    Ouvrez le fichier avec votre éditeur de texte et ajoutez-y vos règles.

Les règles globales sont particulièrement utiles pour ignorer des fichiers particuliers que vous ne souhaitez jamais valider, tels que des fichiers contenant des informations sensibles ou des exécutables compilés.

Ignorer un fichier précédemment validé

Les fichiers de votre copie de travail peuvent être suivis ou non suivis.

Pour ignorer un fichier qui a été précédemment validé, vous devrez décompresser et supprimer le fichier de l'index, puis ajouter une règle pour le fichier dans .gitignore :

git rm --cached filename

L'option --cached indique à git de ne pas supprimer le fichier de l'arborescence de travail mais seulement de le supprimer de l'index.

Pour supprimer récursivement un répertoire, utilisez l'option -r :

git rm --cached filename

Lors de la suppression récursive de fichiers, utilisez l'option -n qui effectuera un "essai à sec" et vous montrera quels fichiers seront supprimés:

git rm -r -n directory

Débogage .gitignore fichier .gitignore

Parfois, il peut être difficile de déterminer pourquoi un fichier spécifique est ignoré, en particulier lorsque vous utilisez plusieurs fichiers .gitignore ou des modèles complexes. C'est là que la commande git check-ignore avec l'option -v , qui indique à git d'afficher des détails sur le modèle correspondant, est pratique.

Par exemple, pour vérifier pourquoi le fichier www/yarn.lock est ignoré, vous devez exécuter:

git check-ignore -v www/yarn.lock

La sortie affiche le chemin d'accès au fichier gitignore , le numéro de la ligne correspondante et le motif réel.

www/.gitignore:31:/yarn.lock www/yarn.lock

La commande accepte également plus d'un nom de fichier comme arguments, et le fichier n'a pas besoin d'exister dans votre arborescence de travail.

Affichage de tous les fichiers ignorés

La commande git status avec l'option --ignored affiche une liste de tous les fichiers ignorés:

git status --ignored

Conclusion

Le fichier .gitignore vous permet d'exclure des fichiers d'être archivés dans le référentiel. Le fichier contient des modèles de globalisation qui décrivent les fichiers et répertoires à ignorer.

gitignore.io est un service en ligne qui vous permet de générer des fichiers .gitignore pour votre système d'exploitation, langage de programmation ou IDE.