うーん...何をしているのか(またはGitが何をしているのか)を本当に知らずに、かなり複雑な変更(サブディレクトリとファイルの名前変更を含む)を誤ってコミットしました。
私は今、次のようなすべてを元に戻したいと思っています:
- commit は完全に取り消されます (コミットが一度も行われていないかのように、おそらく履歴からも削除されます)
- 現在の作業ディレクトリ (場所
.git
) を特定のブランチに復元します (今のところ、最後のブランチで十分です)。
git reset --softおよびgit reset --hard への参照を見つけましたが、コマンドを完全に理解せずに時期尚早に使用すると、実際に損害を与える可能性があることをすでに証明しています。:)
git reset の man ページを見つけましたが、次の点についてまだ混乱しています。
- とは
HEAD
? HEAD
とはどう違い* master
ますか?- 私の状況 (上記参照)
--soft
では、--hard
またはその他 (さらに 3 つのオプション) を使用する必要がありますか? git reset
反転を「確定」するために別のコマンドを (実行後に) 実行する必要がありますか?
更新:以下の回答を読んだ後:
- 私の状況で行う必要があるのは、単一のコマンドを発行することだけであることを正しく理解してい
git reset --hard HEAD^
ますか? - リバースが正しく実行されたことを確認するにはどうすればよいですか?