簡體   English   中英

多個開發分支,避免無基礎的合並

[英]Multiple dev branches avoiding baseless merges

我正在尋找適合當前情況的正確分支和合並策略。幾周前,我從Main處為應用程序的1.6版創建了一個新的Dev分支。 此版本目前正在測試中,並將在未來幾周內上線。

從今天開始,我需要開始針對1.7版進行開發,但是我不確定如何在TFS中進行。 我認為有2種情況:

1. 1.7的dev分支是從Main創建的(與往常一樣),我將所有1.6的更改集成到1.7分支中並開始開發。 一旦准備好進行測試,1.6中的任何更改都將合並到1.7分支中。
2. 1.7的dev分支是通過分支1.6 dev分支創建的,將來對1.6所做的任何更改將再次按點1合並。

#1的問題在於,根據TFS,1.6和1.7之間沒有直接關系,這導致無基礎的合並。
#2的問題是1.7與Main之間沒有直接關系,這導致稍后完成1.7並與Main合並時無基礎的合並。

這是無法避免無基礎合並的情況,還是我的整個策略是錯誤的?

我假設Main代表您的最后一個穩定版本,並且可能會接受修復程序之類的問題來解決關鍵問題。 我還假設典型的工作流程是開始開發“ vNext”版本(在本例中為1.6),然后在該分支上工作,直到完成該工作,然后將其合並到Main 問題是您在為下一發行版使用不斷變化的開發分支。 您不想從1.6擴展到1.7,因為最終您必須從1.7合並到1.6,然后1.6分支不再准確反映1.6版本。

我會簡化一些事情。 創建兩個“永久”分支:

  • Main -您當前穩定的“生產”版本
  • Dev -開發中的版本(在本例中為1.6)

開發人員可以正常地與Dev對抗。 當它“完成”並成為當前的穩定版本時,它將合並到Main

現在,您可以創建功能分支(用於運行時間較長的隔離功能,這些功能在下一版本中不一定會出現)或“ vNext”分支(用於計划在下一版本中發現的功能)可以比預期的更早開始工作)。

現在,您可以為1.7工作創建一個Dev分支,並將1.6更改反向集成到1.7中。 當1.7成為新的開發目標時,將1.7合並到Dev ,並刪除1.7分支。

如果要維護較舊的版本,可以在Main分支上使用標簽來表示每個穩定版本,也可以創建發行分支來表示它們。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM