.gitignoreが反映されない時の解決策!キャッシュを削除しよう!

この記事では『Git』について、

  • .gitignoreが反映されない時の解決策

などを分かりやすく説明するように心掛けています。ご参考になれば幸いです。

.gitignoreが反映されない

「.gitignoreファイル」に指定したファイルやフォルダを記述することで、gitで管理したくないファイルやフォルダを指定することができます。

しかし、「.gitignoreファイル」に記述しても、反映されない時があります。この記事ではその原因と解決策について説明します。

.gitignoreが反映されない原因

「.gitignoreファイル」が反映されない主な原因はキャッシュです。Gitは変更を効率的に追跡するためにキャッシュを使用します。このキャッシュのおかげでGitは非常に高速ですが、このキャッシュが問題を引き起こすことがあります。

特に、一度commitしたファイルは、Gitのインデックスにキャッシュとして残ります。そのため、commitした後に「.gitignoreファイル」に追加しても、すぐには反映されません。

「.gitignoreファイル」に反映させるためには、キャッシュを削除する必要があります。

.gitignoreが反映されない時の解決策(キャッシュを削除する)

以下のコマンドを実行するとキャッシュを削除することができます。

# 全体のキャッシュを削除する
git rm -r --cached .
# 指定したファイルのキャッシュのみを削除する
git rm -r --cached <ファイル名>
# 指定したフォルダのキャッシュのみを削除する
git rm -r --cached <フォルダ名>

「--cached」は必ずつけてください。「git rm」のみだと実際のファイルやフォルダも削除されてしまいます。

キャッシュ削除のコマンドを実行後、「git status」コマンドを実行して状態を確認すると、deletedの差分がたくさん表示されて、心配になるかもしれませんが、問題ありません。ローカル環境のファイルやフォルダが削除された訳ではないので、安心してください。

上記のコマンドを実行してキャッシュを削除したら、以下のコマンドで変更をコミットします。

git add .
git commit -m ".gitignoreを反映させる(←任意のメッセージ)"

これで、「.gitignoreファイル」が反映されるはずです。

Gitの管理対象外になっているファイルの一覧を確認する

以下のコマンドを実行すると、Gitの管理対象外になっているファイルの一覧が確認できます。

git status --ignored

このコマンドを実行することで、「.gitignoreファイル」に記述されているのにも関わらず、Gitが追跡しているファイルやフォルダを確認できます。

本記事のまとめ

この記事では『Git』について、以下の内容を説明しました。

  • .gitignoreが反映されない時の解決策

お読み頂きありがとうございました。