以前の記事で、ブランチ毎に.gitignoreを別の内容にする方法について紹介した。
このような状況で、別ブランチからマージを実行(又は.gitignoreを変更)した場合は、無視したいファイルがリポジトリ内に残っているので、不要なファイルを削除してスッキリさせる方法の備忘録を残す。
.gitignoreが変更されても、既にリポジトリに登録されているファイルは無視されないので、無視したいファイルを下記コマンドで管理対象から外す。
$ git rm --cached `git ls-files --full-name -i --exclude-standard`
又は
$ git rm --cached `git ls-files --full-name -i --exclude-from=.gitignore`
下記コマンドで不要なファイルを確認
$ git clean -n -d -x
続いて下記コマンドで実際に削除
$ git clean -f -d -x
-nオプションでは確認のみで、-fオプションで実際に削除する-xオプションで.gitignoreに指定されたファイルも削除対象とする-dオプションでディレクトリも含む