HeadlinesBriefing favicon HeadlinesBriefing.com

Drei Git-Ignore-Dateien, die du nicht kanntest

Hacker News •
×

Ich habe jahrelang ungetrackte Dateien in Repositorys mit mir herumgetragen — Markdown-Notizen, Agentenpläne — weil das Hinzufügen zu .gitignore sich „unrein“ anfühlte. Dann schlug Claude vor, .git/info/exclude zu verwenden, und zeigte, dass git tatsächlich Ignoriermuster aus drei Positionen mit identischer Syntax liest.

Erstens wirkt .gitignore in jedem Verzeichnis auf alle, die das Repository klonen, und wird committet — ideal für Build-Ausgaben wie target/ oder __pycache__/. Zweitens beeinflusst .git/info/exclude nur deinen Klon, wird niemals committet und befindet sich innerhalb von .git, wodurch es unfallssicher ist. Perfekt für persönliche Scratch-Dateien. Drittens gilt eine globale Ausschlussdatei (Standard: ~/.config/git/ignore) für jedes Repository auf deinem Rechner — großartig für Editoren-Unordnung wie .idea/, .vscode/, .DS_Store.

Die Verwendung ist einfach: Füge Muster direkt hinzu. Pro Repository: `echo 'plans/' >> .git/info/exclude`. Für verknüpfte Worktrees: `$(git rev-parse --git-common-dir)/info/exclude`. Global: Erstelle ~/.config/git/ignore und füge Muster hinzu, oder konfiguriere einen benutzerdefinierten Pfad mit `git config --global core.excludesFile ~/.gitignore_global`. Änderungen wirken sich unmittelbar in `git status` auf ungetrackte Dateien aus.

Hinweis: Claude Code schließt standardmäßig ignorierte Dateien aus @-autocomplete aus, sodass Pläne aus dem Auswahlfeld verschwinden, sobald sie zu .git/info/exclude hinzugefügt wurden.

Wichtige Entitäten: Unternehmen: Claude, Claude Code | Orte: ~/.config/git/ignore, $XDG_CONFIG_HOME/git/ignore

Häufig gestellte Fragen: Was ist der Unterschied zwischen .gitignore und .git/info/exclude?

.gitignore wird committet und mit jedem geteilt, der das Repository klont, während .git/info/exclude nur für deinen Klon lokal ist und niemals versehentlich committet werden kann.