私たちはSVNから移行しており、ブランチのマージも行っています。大幅に簡素化するために、私たちはずっと前から分岐していたブランチBを持っていますが、少し開発が進んでいます。一方、巨大な変更がマスターに起こった: Git:小さな、しかし非常に古いブランチをマージするには?
A
|
X---(a few changes)--- B
|
|(hundreds of changes)
|
HEAD/master
私はブランチから「gitのマージマスター」を行う場合
は、多くの競合が示され、マージ、BおよびHEADは現在、非常に異なっているので。しかし、これは間違っているように思えます。Bは胴体から遠く離れているわけではありません。この事実を利用する方法はありますか?私は最初にBをXにマージし、そこからHEADにマージする必要がありますか?どのようなコマンドはに次のようになります。
- は
を頭にその新しいマージされたバージョンからのX
(恐らく私が前にあるいくつかの非常に愚かと非のgit-ようなことを言ってきた - 。それを指摘して自由に感じる:))
2つのブランチの間にパッチを作成して、現在のヘッドに適用しようとしましたか? XとBの間の –
を意味しますか?それは私がやりたいことのように聞こえる。あなたは正しい命令で私を指揮することができますか? –
あなたのために何がうまくいくかによって、いくつかの例がgit diff X..HEAD foo.cc> foo.patchまたはgit diff X..HEAD> all.patch –