私は少し困惑しています。2 つの Git リポジトリ間で誤ってコードをマージしてしまいました。なんらかの理由で、レポ名は同じで、私が知る前にレポの URL の 1 つが変更されていました。そのため、2 つの異なるプロジェクトのコードをマージすることになりました。これは、リポジトリのコミットからの図です。
私はブランチに名前を付けていません (ずっと HEAD に取り組んできました)。コミットの 1 つ (具体的にはオレンジ色のコミット) を削除するにはどうすればよいですか?
できるよ:
git reset --hard 628612ac
現在の作業コピーに必要なものが何もないことが確実な場合。これによりHEAD
、マージ前のコミットが行われます。実際には何も削除されません。他のコミットは到達不能になり、将来的にガベージ コレクションが行われます。
別のオプションは、次を使用することgit-revert
です。
git revert -m 1 e90aeed8
これにより、履歴が保持されます。e90ae... が行ったすべてを元に戻す新しいコミットを作成します。
この件についての良い読み物は次のとおりです。