HeadlinesBriefing favicon HeadlinesBriefing.com

Trois fichiers Git ignore que vous ne connaissiez pas

Hacker News •
×

J'ai transporté des fichiers non suivis dans des dépôts pendant des années — des notes en markdown, des plans d'agent — parce que les ajouter à .gitignore semblait peu propre. Puis Claude a suggéré d'utiliser .git/info/exclude, révélant que git lit en fait les modèles d'ignorance depuis trois emplacements avec une syntaxe identique.

Premièrement, .gitignore dans n'importe quel répertoire affecte tous ceux qui clonent le dépôt et est validé — idéal pour les sorties de compilation comme target/ ou __pycache__/. Deuxièmement, .git/info/exclude n'affecte que votre clone, n'est jamais validé et réside dans .git, ce qui le rend à l'épreuve des accidents. Parfait pour vos fichiers personnels temporaires. Troisièmement, un fichier d'exclusion global (par défaut ~/.config/git/ignore) s'applique à chaque dépôt sur votre machine — idéal pour le désordre des éditeurs comme .idea/, .vscode/, .DS_Store.

L'utilisation est simple : ajoutez les modèles directement. Par dépôt : `echo 'plans/' >> .git/info/exclude`. Pour les arborescences de travail liées, utilisez `$(git rev-parse --git-common-dir)/info/exclude`. À l'échelle globale : créez ~/.config/git/ignore et ajoutez des modèles, ou configurez un chemin personnalisé avec `git config --global core.excludesFile ~/.gitignore_global`. Les modifications prennent effet immédiatement dans `git status` pour les fichiers non suivis.

Remarque : Claude Code exclut par défaut les fichiers ignorés de @-autocomplete, donc les plans disparaissent du sélecteur une fois ajoutés à .git/info/exclude.

Entités clés : Entreprises : Claude, Claude Code | Emplacements : ~/.config/git/ignore, $XDG_CONFIG_HOME/git/ignore

FAQ : Quelle est la différence entre .gitignore et .git/info/exclude ?

.gitignore est validé et partagé avec tous ceux qui clonent le dépôt, tandis que .git/info/exclude est local à votre clone uniquement et ne peut jamais être validé par accident.