コミットされていないファイルの作業ディレクトリをクリアしたかったのですが、誤ってgit reset --hard
を実行しました。リセット後にGitコミットが失われました。 fsckではなく、reflogにありません
私は前回の(コミットされていない)コミットを失ったので、git reset --hard ORIG_HEAD
を実行しました。これは私の失われたコミットに私を得ることはありませんでした。
私はgit reflog
を実行しましたが、そこにコミットがリストされていませんでした。私もgit fsck --lost-found
を実行しましたが、リストにはコミットがなく、無関係な小塊や樹木はわずかでした。
関連するコミットメッセージと変更の一覧が残っている.git/COMMIT_EDITMSG
を除いて、失われたコミットの参照を見つけることができないため、コミットを回復する方法についてはわかりません。
失われたコミットを取り戻す方法はありますか?あるいは、全員のために準備する必要がありますか?
なぜあなたはあなたのローカル変更のためにgitコミットしたと思いますか? git resetはそれを失いませんでした。コミットされていない変更だけがあった場合、それらはなくなっています。 – fche
'git reset -hard'はcommit-ish引数を持たず、' git reset -hard HEAD'と同等です。コミットを失ったり、プッシュしたり、プッシュしたりすることはありません。インデックスと作業ディレクトリを最後にコミットした状態に戻し、ステージングされた(unstaged)(まだコミットされていない)変更は失われます。 'git reset -hard ORIG_HEAD'は、ORIG_HEADを実際に更新した最後のコマンドと、それがどれぐらい前のもので、何の間に行ったのかによって、問題になる可能性があります... – twalberg
ありがとう、失われたコミットは 'git reset -hard'の約30分前に行われました。 –