【Git】グローバルなgitignoreの設定方法
この記事では、グローバルなgitignoreの設定方法を紹介します。
グローバルなgitignoreファイル(~/.config/git/ignore
)を作成し、全てのリポジトリでGitの追跡対象外とするファイルを定義します。
1. gitignoreとは
- 意図的に未追跡のファイルを指定して、それらをGitが追跡しないようにするためのもの
- すでに Git に追跡されているファイルは影響を受けない
- 現在追跡しているファイルの追跡を止めるには、
git rm --cached
を使う
- 現在追跡しているファイルの追跡を止めるには、
2. gitignoreの使い分け
.gitignore
:特定のリポジトリで全ての人が無視したいファイル$GIT_DIR/info/exclude
:特定のリポジトリで自分だけが無視したいファイル$XDG_CONFIG_HOME/git/ignore
:全てのリポジトリで自分だけが無視したいファイル
3. グローバルなgitignoreの設定
グローバルなgitignoreの設定には$XDG_CONFIG_HOME/git/ignore
を使用します。
3-1. $XDG_CONFIG_HOME/git/ignoreとは
core.excludesfile
のデフォルト値$XDG_CONFIG_HOME
が未設定の場合、代わりに$HOME/.config/git/ignore
が使用される
つまり
$ git config --global core.excludesfile ~/.gitignore_global
して~/.gitignore_global
を作成する必要はなく、代わりに~/.config/git/ignore
を作成すればok。
※~/.config/git/ignore
を使用する場合、core.excludesfile
の設定の削除が必要
3-2. 設定方法
~/.config/git/ignore
を作成し、無視したいファイルを追加するだけです。
- gitignoreテンプレート:github/gitignore
- gitignore作成:gitignore.io
【参考】
- Git - gitignore Documentation
- Ignoring files - GitHub Docs
- gitignore を正しく理解したい - うさぎ小屋
- ~/.gitignore_global を指定するのをやめ、デフォルトの置き場に置こう
- 「$HOME/git/ignore」と 「$GIT_DIR/info/exclude」と「.gitignore」の使い分け - セットプチフォッカ
- Git - git-rm Documentation
- XDG Base Directory - ArchWiki
- 最近目にする$HOME/.configというディレクトリ - 理系学生日記
- SourceTree が Git のグローバルな無視リストを書き換えて困った話 - てっく煮ブログ
- .gitignorがないのにファイルがコミットできないときの対処方法