目次

.gitignoreが異なるマージ(又は.gitignoreを変更)した時の処理

以前の記事で、ブランチ毎に.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

関連記事

参考