gitで追跡を避けたいときや取り消す時などに利用するコマンド
git addを取り消す。
git init 直後のgit addを取り消したい場合。
※cached
を忘れるとファイルやディレクトリを削除してしまうので取扱注意。
git rm --cached -r .
特定のファイルの取り消し
git rm --cached -r file_name
2回目以降のgit addの取り消しかた
全てのファイルを取り消し
git reset HEAD
特定のファイルを取り消し
git reset HEAD file_name
意外と使えるgitコマンド
gitに追跡されたくないファイルって結構あると思うのですが、あんまり記事とかになってないので残しておきます。
通常追跡されたくないファイルは.gitignoreファイルに記載します。すでにgit配下にあるファイルは無視されません。
方法
方法は二つあります。
1.assume-unchanged
git update-index --assume-unchanged file_name
上記を取り消す
git update-index --no-assume-unchanged file_name
2.skip-worktree
git update-index --skip-worktree file_name
上記を取り消す
git update-index --no-skip-worktree
上記の二つでgitのしつこい追跡から逃れることができます。解除も簡単なのでいいですね。
自分わりと使います。
設定の確認
git ls-files -v
assume-unchanged と skip-worktree の違い
この二つには以下のような違いがあります。
・assume-unchanged : そのファイルが作業ツリー上で変更されているときでも、git はその変更を無視して変更されていないとみなします。
・skip-worktree : そのファイルが作業ツリー上で変更されているときには、git はその変更を保ちます。
skip=worktreeの方が個人的には使い勝手がいいです。
とりあえず以上です。
※参考サイト
https://qiita.com/usamik26/items/56d0d3ba7a1300625f92