3

私は少し困惑しています。2 つの Git リポジトリ間で誤ってコードをマージしてしまいました。なんらかの理由で、レポ名は同じで、私が知る前にレポの URL の 1 つが変更されていました。そのため、2 つの異なるプロジェクトのコードをマージすることになりました。これは、リポジトリのコミットからの図です。

マージされたレポ

私はブランチに名前を付けていません (ずっと HEAD に取り組んできました)。コミットの 1 つ (具体的にはオレンジ色のコミット) を削除するにはどうすればよいですか?

4

1 に答える 1

2

できるよ:

git reset --hard 628612ac

現在の作業コピーに必要なものが何もないことが確実な場合。これによりHEAD、マージ前のコミットが行われます。実際には何も削除されません。他のコミットは到達不能になり、将来的にガベージ コレクションが行われます。

別のオプションは、次を使用することgit-revertです。

git revert -m 1 e90aeed8

これにより、履歴が保持されます。e90ae... が行ったすべてを元に戻す新しいコミットを作成します。

この件についての良い読み物は次のとおりです

また、ここ: http://git-scm.com/2010/03/02/undoing-merges.html

于 2013-05-20T04:31:01.533 に答える