3

これがブランチのリベースを「伝播」できるかどうか疑問に思っていました。次の設定を考えてみましょう。

branchA *-*-*-*-*-*-<*>
               \
        branchB *-*-*-*
                       \
                branchC *-*-*-*

ブランチ B の作成後にブランチ A に何らかの変更が加えられた場合、ブランチ B のリベースが必要になることがあります。しかし、ブランチ B をリベースしてコミット <*> から開始するようにすると、ブランチ C は自動的に更新されません。

この祖先ブランチがリベースされたときに、共通の祖先を持つブランチを自動的にリベースする (つまり、リベースを「伝播」する) 方法が Git にあるかどうか知っていますか?

事前にどうもありがとうございました!

4

1 に答える 1

1

いいえ、git にはそのための機能は含まれていません。しかし、あなたはそれを自分で行うことができます。リベースbranchCしてから、その履歴を見て、1つがbranchB指すものと一致するコミットを見つけます。その SHA に注意して実行します。

git branch -f branchB *newSHA*

このような状況は非常にまれです。発行済みの履歴を書き換えるべきではなく、ローカルの未発行の履歴は通常、まっすぐで枝分かれしていないためです。

于 2013-03-30T00:36:48.360 に答える