我想这已被多次询问过,但无法找到快速完整的答案。
假设我从头开始,并希望设置TFS项目以使用2个并行版本,这些版本可能会有所不同,但我仍然希望能够在两者中推送错误修正,让我们称之为REL。 A和REL。 B,两者都会在它们之间共享代码更改,但可能是来自REL的错误修正。 A应该被推入REL。乙
从头开始,我首先创建main或dev,哪一个是另一个的分支?
REL。 A是Dev或Main的分支?
REL。 B是REL的一个分支。 Main或Dev的分支或分支?
感谢。
答案 0 :(得分:3)
确定。基于此,这是我的高级别建议。
由于这些是不同的产品,您可以采用分支产品方法。在这种方法中,您将拥有:
MAIN - 基线代码。
BugFix - 从主要分支。 (这是任何共享错误修复的地方)
产品A - 从主要分支。
产品B - 从主要分支。
然后,我建议在每个Bugfix,产品A和产品B分支上分支一个“Dev”分支(仅用于良好的SCM实践)
您的大部分工作将在您的产品分支中完成。如果需要修复bug,理想的做法是在BugFix分支中编写代码并对其进行测试。一旦它被认证使用“根”代码,您就可以将该修复合并到MAIN,然后将其合并到产品A和产品B.
在一个不太理想的情况下,如果错误在产品A中修复并需要反映在产品B中,您可以选择将产品A中的代码合并到MAIN,然后从MAIN合并到产品B和BugFix。请记住,这是一种危险的方法,因为您可能会无意中将产品A中的功能合并到产品B.
答案 1 :(得分:1)
Microsoft有Visual Studio Team Foundation Server Branching and Merging Guide,可用于选择分支结构。