特定のファイルの履歴を消す
パスワードを直書きしたファイルを間違ってアップロードしたときなど、どうする?
パスワードを含むファイルを捜す
git grep する
変数や単語が出現しているファイルを捜す
そのファイルを完全に履歴から消去する
という処理が必要だが、かなり難しいはず
こういうのをGitHelpできると嬉しいんじゃないだろうか
そういう解説があった
Removing sensitive data from a repository - User Documentation
https://git-scm.com/book/ja/v1/Git-のさまざまなツール-歴史の書き換え
xxxxxx.txtの履歴を消す
http://d.hatena.ne.jp/ichhi/20110825/1314300975
$ ファイル「(#{files})」の編集履歴を完全に(#{delete})がワーキングツリーは残す
% git filter-branch -f --index-filter 'git rm --cached --ignore-unmatch #{$1}' HEAD
GitHub の commit 履歴からパスワードファイル等だけを消す方法
https://qiita.com/MahoTakara/items/3b02bf55767a6372596e
$ ファイル「(#{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