.gitignoreに記載がないのに特定のファイルが無視される現象について
Gitを使用していると、.gitignore
に記載がないにもかかわらず、特定のファイルが無視される現象に遭遇することがあります。この問題の原因の1つとして、大元の .gitignore_global
というファイルの存在が挙げられます。
.gitignore_global
とは?
.gitignore_global
は、すべてのGitプロジェクトに対して適用されるグローバルな .gitignore
ファイルです。このファイルに記載されたルールは、どのリポジトリにも影響を与えるため、.gitignore
に記載がなくてもファイルが無視される原因となる場合があります。
私の体験談
ある日、.css
ファイルがGitに認識されない現象に直面しました。プロジェクトの .gitignore
ファイルを確認しても、該当する設定は見当たりませんでした。しかし、どうやっても .css
ファイルが追跡対象にならず、この問題で丸一日悩みました。
原因
調査の結果、私の環境では .gitignore_global
に .css
の記載があった ため、すべてのリポジトリで .css
ファイルが無視される状態になっていました。
解決方法
以下の手順で .gitignore_global
を確認し、該当するルールを削除することで解決しました。
手順
-
ホームディレクトリに移動する
cd ~
-
.gitignore_global
を編集するvi .gitignore_global
-
該当する行を削除する
.css
に関連するルールを削除してください。 -
変更を保存して終了する
-
Git設定を再確認する
念のため、グローバルな.gitignore
の設定が適用されているか確認します。git config --get core.excludesfile
正しいパスが表示されるか、空欄になっているかを確認します。
まとめ
-
.gitignore_global
はすべてのGitプロジェクトに影響を与える設定ファイルです。 - 特定のファイルが
.gitignore
に記載がないのに無視される場合、まずこのファイルを確認することをおすすめします。 - 問題解決の手順は以下の通り:
- ホームディレクトリに移動
-
.gitignore_global
を編集 - 該当行を削除
- 設定を確認