以前の記事で、ブランチ毎に.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
オプションでディレクトリも含む