.gitignoreに追加したのに変更が無視されない

2019.8.15

.gitignoreに追加したのに、無視されないということが発生したら、キャッシュが怪しいです。

一度コミットしてしまったファイルをあとから.gitignoreに追加しても、キャッシュにインデックスが残ってしまっているので、変更が無視されません。

解決するためには、キャッシュを削除する必要があります。
実行するコマンドは次のようになります。

git rm -r --cached hoge.txt

hoge.txtの部分がキャシュを削除したいファイル名になります。
すべてのファイルに対してキャッシュの削除を実行したい場合は次のように、.を指定すると実現できます。

git rm -r --cached .

すべてのファイルに対してキャッシュの削除を行うと、変更が大量に出ますので、コミットがまだのファイルなどはスタッシュするなどして、一時的に退避しておいたほうがゴチャゴチャに混ざらなくて安全です。