我們使用TFS並且最近(在上個月內)切換到Git VC。我們制定了策略,因此不允許手動合併到主分支中。相反,我們有拉取請求的策略,只有在拉取請求獲得批准時才允許合併。具有多級分支深度並通過合併請求合併的Git和團隊資源管理器
我遇到以下情形:
- 創建的本地分支
BranchA
從master
- 開發完成上
BranchA
,從BranchA
打開相對於master
- 拉入請求創建的本地分支
BranchB
,如BranchB
依賴BranchA
中的代碼 - 完成開發
BranchB
,拉動請求相對於打開BranchA
我理解的Git沒有引入請求的概念,嚴格來說,合併分支機構一起不構成真正的關心。那就是:
BranchB
合併BranchA
合併master
僅僅是因爲這樣做 BranchB
合併master
細,然後BranchA
合併master
我掙扎辨別清晰的方式來拉時進行合併涉及請求。我所做的是:
- 爲
BranchB
完全拉入請求其合併到BranchB
BranchA
- 完全拉請求
BranchA
其合併到BranchA
master
不幸的是,這種做法引起BranchA
的pull請求將被更新爲來自BranchB
的最新更改,這些更改膨脹了請求並取消了它的原始意圖(因爲現在有更多文件需要查看)。
如果我切換訂單,那麼BranchA
拉請求完成後,我必須確保遠程分支不會被刪除,因爲BranchB
依賴於它的存在(這是一個假設,也許TFS將拉請求從物理分支?)。
如果我讓BranchB
的拉動要求相對master
,然後拉請求將包括BranchA
和BranchB
變化,因爲master
不知道的還BranchA
。
我正在尋找任何有關如何處理這種情況的建議,而不會膨脹拉請求。
你可以在你的第二個場景中刪除分支就好了,分支不是特定提交上的「標籤」。只要還有其他提交仍然引用這些提交,它們就不會消失。你怎麼能加快合併過程,所以BranchB可以開始主人? – jessehouwing
啊,這是一個非常好的點,我記得很重要,分支只是標籤,提交是真正的交易。所以在這種情況下順序並不重要,'BranchA'可以先合併。至於加速合併,這是一個讓團隊其他成員完成審查和批准代碼的問題(我們的合併策略在合併發生之前需要兩個批准者)。理想情況下,這些拉動要求是短暫的,但情況並非總是如此。另外,我通常會在打開「BranchA」的拉取請求之後立即準備好在「BranchB」上啓動開發 – Sam