**虽然另一个提议的重复问题与我的情景有很大不同,但这个问题被低估并被确认为重复。该问题是关于如何合并已经存在的分支的问题。我的问题是如何正确/理想地更改项目结构/为没有分支的现有项目添加分支。我甚至将另一个与我完全相同的问题联系起来,除了我还有其他一些问题没有在那个问题上得到解答。
这可能是非常基本的,但我有一段时间试图找出为TFS2013中从未使用过分支的现有项目添加分支的推荐方法。 This帖子是同一个问题(针对TFS2010),但答案还有一些问题。
我的具体情况是,我有一个从未有分支的旧项目,并且没有设置分支。从我所读到的内容看来,好像从/ main / dev和/ releaseX / releaseY文件夹开始,并将它们全部转换为分支,这是推荐的方法,但是很久以前这艘船已经航行了。我工作的公司需要能够为拥有许多不同版本的客户维护修补程序的发布分支。
一个建议是简单地将顶级团队项目本身转换为分支并将其视为主要分支。这似乎很好,但我也读过你不能在分支内创建任何分支,那么我将如何/在哪里创建发布分支?
当前结构如下所示,发布文件夹就是我的想法:
那么,我是否必须创建一个" Main"文件夹,将所有项目的文件和文件夹移动到该文件和文件夹中,将其转换为分支,然后在该级别设置发布分支?或者有没有办法将根文件夹转换为分支并在其下面有发布分支?或者我是否必须为每个分支创建一个单独的项目?或者,是否有可能没有主分支,只是为发布创建分支(我认识到这可能不是最好的 - 它会使合并变得更加困难)?
这是一个非常小的团队,我希望尽可能简化更改,并让团队尽可能轻松地将主要错误修复程序合并到旧版本中。另外一个想法是,这可能会影响我建立的CI构建。如果分支存在于与主代码混合的项目集合下,那么检入发布分支会触发CI构建吗?
答案 0 :(得分:2)
如果我根据情况设置分支......
那么,我是否必须创建一个" Main"文件夹,移动所有项目的文件 和文件夹,将其转换为分支,然后设置发布 在那个级别的分支?
是的,这可能是最好的开始。
或者有没有办法将根文件夹转换为分支并拥有 它下面的发布分支?
我认为你不能创建团队项目到分支机构,如果可以的话,你不会想要你的版本。
或者我是否必须为每个分支创建一个单独的项目?或者,是吗? 可能没有主分支,只是创建分支 发布(我认识到这可能不是最好的 - 它会合并 更难)?
你是如何创建这些"发布分支的?#34;?你分支文件夹了吗?
这会让你的结构像这样:
Team Project
>Main
>Release Branches
>Rel1
>Rel2
根据您现在维护发布分支的方式,我将原样保留,并保持"合并"像你一样改变它们。如果你真的想要,你可以尝试重新创建一次" Main"通过使用TFVC中的Changeset选项的分支来存在分支。
展望未来,您可以在发货时从Main分发每个Release。如果您需要进行一些长期的破坏性工作,您还可以从Main创建功能分支。
答案 1 :(得分:2)
我仍然认为这是一个合理的问题,因为我也遇到了类似的问题。以下是我对我的测试项目" BranchTesting" (以及后来的生产项目)。关于它的重点是,它保留了所有文件的更改历史记录:
我进一步在Dev文件夹中创建了2个子文件夹来创建2个并行的Dev分支,但这取决于你。以下是它的最终结果:
以下是变更集历史记录: 这里是程序文件的历史(来自测试程序):
编辑:我意识到imgur不会永远保留图像,因此这里有文字:
Team Project
> Dev
> EligibilityEnhancement
> BranchTesting
> Ryan
> BranchTesting
> Main
> BranchTesting
> Release
> 1.0.0
> BranchTesting
> 1.0.1
> BranchTesting