0

これが状況です。ブランチとオリジン/マスターをマージ (図では 80d0e2b をコミット) し、変更をリモート サーバーにプッシュしました。マージはくだらないように見えたのでgit reset HEAD~1、サーバーからの削除を申請することにしました (そうです、私は愚かでした)。これで、一部のコミット (MOB-25 など) がどのブランチからも到達できず、コミット 2e4df35 が最後と呼ばれる状況になりました。

原点/マスターのポイントを MOB-25 を指すように変更してから、フェッチを適用して再度マージすることを考えました。

reflog の使用を勧めるこのスレッドも見つけました ( How can I undo git reset --hard HEAD~1? ) が、100% 確実にしたいのです。この混乱を解決する最善の方法は何でしょうか? ここに画像の説明を入力

4

1 に答える 1

1

唯一のオプションは、git reflog を使用して、これまでに行った sha1 コミットの履歴リストとバックアップを見つけることです。

目的のコミットが見つかったら、ログに表示されるようにタグ付けまたはブランチを作成します。

必要に応じて、「MOB-25」を示すすべてのreflog行に別のタグを付けて、gitk または好みの git プログラムを使用してリビジョン ツリーを確認してください。必要なものが見つかったら、自由に削除してください。

reflog を表示するには:

git reflog

タグを作成するには:

git tag MOB-25a theSha1

ブランチを作成するには:

git branch theSha1 MOB-25a
于 2013-07-15T14:46:09.700 に答える