1

私たちのリポジトリでは、機能ブランチに基づいて機能を開発しています。最近、機能feature/myfeatureをに統合しましたmaster:

git merge --no-ff feature/myfeature

このマージの後、この機能に問題があり、統合がブロックされていることが判明するまで、さらに開発が行われたため、このマージを元に戻すことにしました。https://stackoverflow.com/a/6217372/1237653に従って、履歴を壊さずにマージを元に戻す唯一のオプションを選択しました。

git revert -m 1 commit_hash

その間、さらに多くの開発masterが行われ、作者は修正コミットを追加しました。ここで、機能を統合/マージするために 2 回目の実行を行いたいと考えています。残念ながら、最初の apply & revert が 2 回目の試行とまったく同じコード行に触れるため、今では多数の競合が発生しています。

git merge --no-ff feature/myfeature
<pointless conflicts all over>

これらの無意味な競合なしに、以前に元に戻した機能ブランチを再適用するにはどうすればよいですか?

運悪くやってみ-s recursive -Xrenormalizeた。リベースも同じ競合を引き起こします。

4

1 に答える 1

0

元に戻したブランチをもう一度マージする代わりに、元に戻すコミットを元に戻す必要があります。文字通り、

git revert <sha1>

sha1以前の によって作成されたコミットはどこにありますかgit revert

于 2013-06-21T14:31:36.340 に答える