私たちはTFSを使用していて、最近(最近1ヶ月以内に)Git VCに切り替えました。私たちにはポリシーがあり、手動でマスターブランチにマージすることはできません。その代わりに、プルリクエストが承認された場合にのみマージを許可するポリシーを備えたプルリクエストがあります。Gitとチームエクスプローラで複数レベルの分岐深さとプルリクエストによるマージ
私は次のシナリオに遭遇しました:master
BranchA
を作成し
- は
BranchA
に開発を完了は、BranchA
からmaster
- 作成したローカルブランチ
BranchB
にプルリクエストの相対を開設しましたBranchB
はコードを使用していますBranchA
- で開発完了は、
BranchA
私はプル要求の概念を持っていないのGitを理解するために、プルリクエストを相対的に開かれ、厳密一緒に本当の懸念を提起していない枝をマージし、話します。つまり:BranchA
はmaster
にマージに
BranchB
が BranchB
がmaster
にマージやっと同じくらい結構です合併し、その後、BranchA
は私がするとき、プルマージを実行するためにクリーンな方法を見分けるのに苦労していmaster
にマージリクエストが含まれています。私がやったことです:残念ながらmaster
にBranchA
をマージBranchA
ためBranchB
BranchA
への完全なプルリクエストをマージ
BranchB
ため
- 完全プル要求、このアプローチは
BranchA
年代を引き起こしましたプル要求をBranchB
から最新の変更で更新する必要があります。これにより、プル要求が肥大化し、元のインテントが削除されます。BranchB
がその存在に依存しているため、BranchA
プルリクエストが完了したので、私はリモートブランチが削除されないようにする必要があります(これは前提です。物理的な分岐?)。私はmaster
からBranchB
のプル要求の相対を行った場合master
はまだBranchA
を知らないためは、その後、プル要求は、両方
BranchA
とBranchB
の変更が含まれます。私はプルリクエストを膨らませることなくこのシナリオを処理する方法に関するアドバイスを探しています。
2番目のシナリオでブランチを削除することはできますが、ブランチは特定のコミットのあまり「ラベル」ではありません。これらのコミットを依然として参照している他のコミットが存在する限り、それらは失われません。 BranchBがマスターを開始できるように、マージプロセスをどのように高速化できますか? – jessehouwing
ああ、それは非常に良い点であり、私が覚えておくべき重要なことです。ブランチはラベルに過ぎず、コミットは本当のことです。その場合、順序は関係ありません。「BranchA」が最初にマージできます。マージを高速化するということは、チームの他のメンバーがコードのレビューと承認を完了することです(マージポリシーはマージが発生する前に2人の承認者が必要です)。理想的には、これらのプル要求は短命ですが、必ずしもそうであるとは限りません。また、私は典型的には 'BranchA'の引き出し要求を開いた直後に' BranchB'で開発を開始する準備ができています – Sam