特定のファイルの履歴を消す
パスワードを直書きしたファイルを間違ってアップロードしたときなど、どうする?
パスワードを含むファイルを捜す
git grep する
そのファイルを完全に履歴から消去する
という処理が必要だが、かなり難しいはず
こういうのをGitHelpできると嬉しいんじゃないだろうか
そういう解説があった
xxxxxx.txtの履歴を消す
$ ファイル「(#{files})」の編集履歴を完全に(#{delete})がワーキングツリーは残す
% git filter-branch -f --index-filter 'git rm --cached --ignore-unmatch #{$1}' HEAD GitHub の commit 履歴からパスワードファイル等だけを消す方法
$ ファイル「(#{files})」の編集履歴を完全に(#{delete})
% git filter-branch -f --index-filter 'git rm --ignore-unmatch #{$1}' HEAD どういう意味なのやら?
filter-branch というのは、大量コマンドを一気に実行するものらしい
全部やるもの
--tree-filter チェックアウトしてコマンド実行
--index-filter インデックスに対してコマンド実行
git rm
--ignore-umatch
マッチしなくても続行する
GitHubの方に反映させる
$ 編集履歴をGitHubに反映させる
% git push origin --force --all