チェックインしてはならないバイナリをいくつか削除したかったので、git リポジトリから機密ファイルを削除するための GitHub の指示に従いました。
git filter-branch
コマンドの最初の呼び出しは次のエラーで失敗しました:
ダーティな作業ディレクトリでブランチを書き換えることはできません。
ローカルの変更があったためです。そのため、これらの変更を で隠しgit stash
、filter-branch コマンドを再実行しました。
次に、GitHub の指示に従って次のコマンドを実行しました。
rm -rf .git/refs/original
git reflog expire --expire=now --all
git gc --prune=now
git gc --aggressive --prune=now
バイナリの削除は問題なく機能しているようです。ただし、今git stash list
入力すると、古いマスターに追加した stash エントリが表示されません。
私が持っているのはgit stash
、filter-branch コマンドを 2 回目に実行する前の出力だけです。
Saved working directory and index state WIP on master: a19db18 LOG_MESSAGE
HEAD is now at a19db18 LOG_MESSAGE
また、a19db18332b19ea41be888eccfc07e6680d8d6dd
書き換えられたコミットの 1 つでした。
隠した変更を取得する方法はありますか?