HeadlinesBriefing favicon HeadlinesBriefing.com

知らなかった3つのGit無視ファイル

Hacker News •
×

私は何年もリポジトリに追跡されていないファイルを持ち歩いていました — マークダウンのメモ、エージェントの計画 — なぜならそれらを.gitignoreに追加するのは「汚い」と感じていたからです。その後、Claudeが.git/info/excludeの使用を提案し、gitが実際に同じ構文で3つの場所から無視パターンを読み取っていることを明らかにしました。

まず、どのディレクトリの.gitignoreでも、リポジトリをクローンするすべての人に影響し、コミットされます — target/や__pycache__/などのビルド出力に最適です。次に、.git/info/excludeはあなたのクローンにのみ影響し、決してコミットされず、.git内に存在するため、事故防止になります。個人的な一時ファイルに最適です。第三に、グローバル除外ファイル(デフォルトでは~/.config/git/ignore)はあなたのマシン上のすべてのリポジトリに適用されます — .idea/、.vscode/、.DS_Storeなどのエディターのごちゃごちゃに最適です。

使用方法はシンプルです:パターンを直接追加します。リポジトリごとに:`echo 'plans/' >> .git/info/exclude`。リンクされたワークツリーの場合:`$(git rev-parse --git-common-dir)/info/exclude`を使用します。グローバルに:~/.config/git/ignoreを作成し、パターンを追加するか、`git config --global core.excludesFile ~/.gitignore_global`でカスタムパスを設定します。変更は`git status`で未追跡ファイルに対して即座に反映されます。

注意:Claude Codeはデフォルトで無視されたファイルを@-autocompleteから除外するため、.git/info/excludeにplansを追加すると、ピッカーから消えます。

主要なエンティティ:企業:Claude, Claude Code | 場所:~/.config/git/ignore, $XDG_CONFIG_HOME/git/ignore

よくある質問:.gitignoreと.git/info/excludeの違いは何ですか?

.gitignoreはコミットされ、リポジトリをクローンするすべての人と共有されますが、.git/info/excludeはあなたのクローンのみにローカルであり、決して誤ってコミットされることはありません。