サイドブランチを別の(マスターまたは他の)情報から更新して、2つを続行する方法はありますか?リベースと同じですが、そこに古いデータを保存していますか?Gitをマージして別に保管しますか?
オリジナル:
A---B---C---G---H master
\
D---E---F branchA
結果:C、G、およびHを、(Jそのマージコミット)KをコミットするようにはまだコミットからbranchA
情報を取得
A---B---C---G---H---L master
\ \
D---E---F---J---K branchA
ようサイドブランチ(および将来のコミットLは依然としてマスター上にあります)が、マスターから更新された情報を持っていますか?
ことがで終わるだろうので、私は、リベースを行うにはしたくない:彼らはHの上に起こった代わりにいるかのようにD、E、およびFの「新しいバージョン」を作成
A---B---C---G---H---L master
\
D'---E'---F'---K branchA
Bとの問題は、コミットCとEがレポ内のキーフォルダの名前変更であり、を一緒に崩壊したいと思っていますが、branchA
の他の機能の更新はまだマージしていません。リベースとは、Hが新しいフォルダ名を使用し、D 'が古いフォルダ名を作成し、E'が再び削除します。これは最もクリーンではありません。
ポイントは、私は過去にそのフォルダの名前変更(CとE)を取得して、それを前方に持っていきたいと思っています。それは意味がありますか?私はこれを後ろ向きに見ていますか?または、ブランチがマージされるまで、ちょうど汚れたrebase「名前、名前を変更する」トリックを処理する必要がありますか?
git mergeは最も簡単な答えです。私はそれを2つの枝を併合して経験していて、2つを別々に続けることができませんでした...しかし、今は起こっていません! – MidnightLightning
私はあまりにも、git mergeが変更を*単一のブランチにマージするのではなく、2つのブランチを一緒にマージしたと考えました。しかし、私は知りませんでしたが、トピックブランチを作成しました - * B * - 別のトピックブランチ - * A * - をチェックアウトし、* B *を*マスター*にマージしました。 * A *のすべてのコミットをマージします。 –