2

だから私はしたgit checkout <past_commit_hashtag>

しかし、それを元に戻し、現在の最新のリビジョンに戻りたい

だから私はたくさんのことをしました:

git reset --hard
git checkout <root folder>
git branch -D master
git checkout master

Fatal error: Cannot redeclare file_create_url() etcそれにもかかわらず、最新のリビジョンに適切に戻さなかったことを意味するエラー メッセージが表示されるようになりました...

実際に現在のリビジョンに正しく戻すにはどうすればよいですか?

git pull --rebase私のブランチが最新git statusであることを明らかにし、さらに汚い変更がないことを明らかにします

4

3 に答える 3

1

あなたは切り離された HEAD状態にありました。戻るにはgit checkout master. しかし、その間に、あなたの周りをもがき、その 1 つ ( git branch -D master) を削除しました... おめでとう!

git fsck --lost-found空中に浮かぶいくつかのコミットが表示されるはずです (あなたが放棄したものとあなたが殺したものmaster)。それぞれを行い、周りを見回してくださいgit checkout。紛失したように見える場合は、その場masterで a を実行しますgit branch master。正気をチェックしてください。そのブランチの構成 (どこからフェッチするかなど) が失われ、再構築する必要があります。などを参照git configgit remoteてください。

また、git bookの「Maintenance and data recovery」章も参照してください。

疑わしい場合は、リポジトリを含むディレクトリを新しいコピーにコピーして、回復方法が正確にわかるまでgit、いじることができます (いいえ、データを失うことはありませんが、いくつかのコマンドで作成できる混乱を解くことは別の方法です)。魚のやかん…)

于 2013-04-01T18:34:29.297 に答える
1

「チェックアウトを元に戻す」には、必要なリビジョンをチェックアウトするだけです。ブランチに戻りたい場合は、git checkout branchname. もちろん、その意味を理解していないランダムなコマンドをいくつか実行した場合は、それらをロールバックするのが難しくなる可能性があります。

于 2013-04-01T18:18:58.733 に答える
1

する

git reflog

HEAD 参照を移動するローカル履歴を確認し、戻りたいコミットのハッシュを見つけるには、do と

git checkout $THATHASH
于 2013-04-01T18:20:32.377 に答える