2

20名ほどのチームに分かれてGitで管理するプロジェクトに取り組んでいます。プロジェクト マネージャーは、すべての作業ブランチをマスターにマージするだけでなく、マスターにリベースしてからマネージャー自身がマージすることを要求します。

私がこれまでに見つけた情報によると、すでに公開されている (つまり、リモートにプッシュされた) コミットをリベースするべきではありません - 私はすでにこれに対処しなければならず、楽しくありませんでした。ただし、コードを master にマージするように要求する前に (つまり、master にリベースし、プロジェクト マネージャーが master を早送りしてブランチを反映させるのを待つ前に)、コードをチームと共有したいと考えています。

私のチームがリモートからプッシュおよびプルし、統合のためにマスターにリベースできる適切なワークフローは何ですか? それは単に私が一貫して間違っていることですか、それとも正当な問題ですか?

4

1 に答える 1

0

マージの前にリベースするのはなぜですか? その背後にある意味は何ですか?

正しいワークフローは、リベースしないことです。マネージャーが master へのマージを制御したいが、マージの競合を解決したくない場合は、最初に master をトピック ブランチにマージする必要があります。マスターへの「マージ」は、再び早送り操作になります。

リベースが悪い理由についての良い説明があります: http://geekblog.oneandoneis2.org/index.php/2013/04/30/please-stay-away-from-rebase

あなたのマネージャーが頑固で、あなたにリベースを強要した場合、本当に良い解決策はありません – これはリベースが作られたものではありません. そのような状況では、私は次のようにします。

  • チームでブランチを共有する
  • リベースの前に彼らに連絡して、全員がすべての変更をプッシュしたことを確認してください (リベースはすべての作業が完了した後にのみ行われるため、あなたの説明からすると簡単に思えますか?)
  • 引く
  • リベース
  • そのブランチで作業したいすべての人に連絡して、 を実行しgit fetch、その後に を実行しgit reset --hard origin/branchて、リベースされたバージョンを入手してください。
于 2013-05-01T02:09:53.947 に答える