私の難問はこれです。私のチームのメンバーがベンダーコンポーネントを変更しました。その後、このコンポーネントは現在のバージョンにアップグレードされ、チームの変更が上書きされました。
問題の部分には、チームメイトによって大幅な変更が加えられましたが、アップグレードによって最小限の変更が追加されました。私が持っているのはこれです:
---component version 1.0----team change A---team change B---component version 2.0
(stock) (result of upgrade)
私が欲しいのは、次のようにマージを行うことです。
----team change A---team change B
/ \
---component version 1.0 successful 'merge'
(stock) /
\------------component version 2.0
(result of upgrade)
理論的根拠は、ベンダーのからへの変更、からcomponent version 1.0
へcomponent version 2.0
のcomponent version 1.0
変更を確認しteam change B
、これら2つの変更セットをマージできる場合、チームの変更を適用する方が簡単であるということです。
私が理解しているように、これを行う唯一の方法は、ブランチをにリセットし、team change B
から新しいブランチをチェックアウトして、パッチとしてとcomponent version 1.0
の間の差分を適用し、作成されたブランチをマージして、解決をコミットすることです。component version 1.0
component version 2.0
私が望んでいるのはgit merge --BASE='component version 1.0' --LOCAL='team change B' --REMOTE='component version 2.0'
、マージ解決ツールを使用して結果のファイルがどのように見えるかを判断できるように、基本的にマージをシミュレートする方法があることです。