残念ながら、何とか新しいコミットを作成せずに、これは実際に定義されていません。これは、J
によって導入diffがさえI
、すなわちB
とC
にマージされたものをせずに意味を成していない可能性があります。
何を求めていることは不可能であるためJ
は本当にB
とC
から互いに素であると仮定すると、あなたが繰り返しパッチを適用せずに決定するために(一般的に)、組み合わせ差分を取得するために、何らかの形で、新たなコミットを作成する必要があります結果が何であるかを見ることができます。しかしこれを行う最も簡単な方法はチェリーピッキングではありません。代わりに、デフォルトでrebase
ががコミットをマージ保持しないという事実を利用することができます。したがって:J
で行われた変更は、B
とC
のものから分離できない場合
# create a temporary copy of branch A
git branch branch-A-tmp branch-A
# rebase that copy in place, thus removing the merge commits
git rebase commit-A branch-A-tmp
# examine the diff
git diff commit-A branch-A-tmp
、これを示す、J
を再適用する試みをリベースしたときに、競合をマージ得るでしょう、I
にマージされているデフます求めているのは明確ではない。それ以外の場合は、探しているdiffを取得します。
は助けるが、なぜEを犯すだろうことはできません取り残された:) – CodeReaper