2

単一のシステムに取り組んでいる開発者の 2 つのチームがあります。チーム A は「マスター」ブランチ (本番ブランチ) で作業しています。それらは「マスター」から機能ブランチまたはバグ修正ブランチに分岐し、リリースのために「マスター」にマージされます。

チーム B は、「マスター」から分岐した「アップグレード」分岐に取り組んでいます。彼らは、「アップグレード」から機能ブランチまたはバグ修正ブランチに分岐し、作業が完了すると「アップグレード」にマージするという同様のアプローチに従います。

アップグレードが完了すると、最終的に「アップグレード」ブランチが「マスター」に置き換わります。それまでの間、「アップグレード」ブランチを「マスター」と同期させるにはどうすればよいでしょうか?

今日まで、毎週「マスター」の「アップグレード」ブランチをリベースしてきました。問題は、これにより履歴が書き換えられ、チーム B のメンバーが変更をプルまたはプッシュして「アップグレード」しようとすると、混乱が生じることです。シンプルでクリーンな方法で「マスター」と「アップグレード」を継続的に統合するにはどうすればよいでしょうか?ここに画像の説明を入力

4

1 に答える 1

3

今日まで、毎週「マスター」の「アップグレード」ブランチをリベースしてきました。
問題は、これによって歴史が書き換えられ、チーム B のメンバーに混乱が生じることです。

だから...リベースしないでください。フェッチorigin/masterしてローカル ブランチにマージしupgradeます。
への最後のマージmasterは簡単 (または早送り) になります。

以下も参照してください。

  • Git のマージとリベースについて」: for deliverand rebasebasics
  • " git rebasevsgit merge ": 各操作がサポートするワークフローの種類を確認します。
    マージの直前にリベースするのは良いことです。
    しかし、あなたの場合、master長い間マージ (に戻る) しません。
    したがって、(アップグレードするための)マージは賢明な解決策です。
于 2012-08-30T12:01:34.113 に答える