新しく覚えた Git コマンド
git 管理下にあるファイルをあえて無視する
主に設定ファイル等、gitで管理しておきたいけど、ローカル環境用に変更する必要があるものを指定する。
$ git update-index --skip-worktree [ファイルパス]
以下の無視方法だと、git-pull したときに リポジトリのファイルでローカルが置き換わってしまい、ローカル環境の設定ファイルが跡形もなくなってしまうので注意。
$ git update-index --assume-unchanged [ファイルパス]
ずっと無視なら最初の方法で、一時的に無視しておきたいなら2番目の方法で。
参考サイト参照。
【利用例】
プロジェクト内の空フォルダ全部に.gitkeepを配置、コミットした後、.gitkeepを無視したい場合。
以下で空フォルダに.gitkeepを作成したあと、コミットし、
$ find . -type d -name .git -prune -o -type d -empty -exec touch {}/.gitkeep \;
以下で、.gitkeepの変更を無視する。
$ find . -type f -name .gitkeep -exec git update-index --skip-worktree {} \;
キャッシュフォルダなどの場合、キャッシュクリアすると.gitkeepも含めて全部消えてしまうので、変更差分として出てきて困る、というところで利用。
git 管理下のファイルを一覧表示
$ git ls-files