投稿

間違ってコミットしていたファイルを歴史から全消去

間違ってコミットしていたファイルを歴史から全消去

誤って機密情報や不要なファイルをコミットしてしまい、そのファイルを履歴ごと完全に消したいときに使う。全コミットに対して指定ファイルを git rm する形で履歴を書き換えるため、実行後はそのファイルがどのコミットからも参照されなくなる一方、全コミットのハッシュが変わり、共有リポジトリではforce pushと関係者への周知が必要になる。2018年時点の手法で、現在はGit公式が git filter-repo の使用を推奨している。

$ git filter-branch -f --index-filter 'git rm --cached --ignore-unmatch ファイル名' HEAD
[gitでファイルの存在をなかったことにする - baronyan’s blog http://baronyan.hatenadiary.com/entry/2014/07/14/152517]