.gitignoreが異なるマージ(又は.gitignoreを変更)した時の処理 ======================================================= [以前の記事](https://www.yokoweb.net/2016/09/14/git-branch/)で、ブランチ毎に`.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`オプションでディレクトリも含む 関連記事 ------- * [【Git】ブランチごとに別の内容にする](myblog>2016/09/14/git-branch/) * [[software/git/gitignore]] 参考 ---- 1. [あとからまとめて.gitignoreする方法](http://qiita.com/yuuAn/items/b1d1df2e810fd6b92574) 2. [基本操作 | 逆引きGit | サルでもわかるGit入門](http://www.backlog.jp/git-guide/reference/basic.html) 3. [.gitignoreの仕様詳解](http://qiita.com/anqooqie/items/110957797b3d5280c44f)