.gitignoreが無視するのはまだインデックスに登録されていないものだけ!
すでにgit add
でインデックスに登録したファイルについては.gitignoreが反映されません。
そういった場合は、そのファイルもしくはフォルダを管理対象から外す必要があります。
単純にファイルを外すなら、
git rm [ファイル名]
ですが、これではファイルも削除されてしまいます。
"ファイルは削除したくないが、秘密情報を含んでいるのでpushしたくない場合"は、
git rm --cached [ファイル名]
と--cachedオプションを付けます。そうするとインデックスのみが削除されるので、次に git add
したときには、.gitignoreにそのファイルが記述されていればインデックスにのりません。gitの管理対象から外されます。
作業フォルダ内のすべてのファイルをいったん管理対象から外すよく使う方法
よく使うのは
git rm -r --cached .
です。
-r
オプションはフォルダを管理対象から外すためのオプションです。
ファイルもフォルダもいったん全て管理対象から外し、その後.gitignore
の変更を反映します。
その後でgit add
, git commit
を行うことで管理対象を適切に設定できます。
コメント