Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/tfs/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在TFS中使用主分支和开发分支_Tfs_Tfvc_Branching Strategy - Fatal编程技术网

在TFS中使用主分支和开发分支

在TFS中使用主分支和开发分支,tfs,tfvc,branching-strategy,Tfs,Tfvc,Branching Strategy,我必须上传一个新项目到TFS。此项目已完成,但尚未处于受控版本中 我决定使用两个分支:main和dev。在我的情况下,不需要发布,我可以使用特性隔离分支策略来完成所有工作 最初,我创建了一个团队项目。使用VisualStudio中的团队资源管理器,我在团队项目下创建了两个文件夹:Main和Dev 首先,我上传项目到主文件夹 从现在起,每次必须实现新功能时,我都会从主文件夹创建一个dev分支,并将其放在dev文件夹下,比如dev_branch_01。这个开发分支将是短暂的 此功能的实现分为几个部分

我必须上传一个新项目到TFS。此项目已完成,但尚未处于受控版本中

我决定使用两个分支:main和dev。在我的情况下,不需要发布,我可以使用特性隔离分支策略来完成所有工作

最初,我创建了一个团队项目。使用VisualStudio中的团队资源管理器,我在团队项目下创建了两个文件夹:Main和Dev

首先,我上传项目到主文件夹

从现在起,每次必须实现新功能时,我都会从主文件夹创建一个dev分支,并将其放在dev文件夹下,比如dev_branch_01。这个开发分支将是短暂的

此功能的实现分为几个部分。每个部分都由开发人员完成,因此每个开发人员从刚刚创建的dev_branch_01创建一个新的短期分支,以实现分配的部分。当所有开发人员完成他们的部分后,他们将他们的开发分支合并到dev_branch_01中并解决冲突

一旦所有部件都合并到dev_branch_01中,QA团队将针对该分支进行必要的测试。当QA团队通过所有测试后,dev_branch_01将合并到主分支中

在这里,我有一个疑问:每个开发人员从dev_branch_01完成的所有短期开发分支都可以被删除?是否也可以删除dev_branch_01

以后,当一个新特性必须实现时,我们再次重复这个过程,我的意思是,我们从主分支创建一个新的短期dev分支,比如dev_branch_02,我们重复上面解释的整个过程

我们总是有一个主要分支和许多短期的开发分支


我想知道我们使用main和dev分支的方式是否正确。

以免打破这个问题:

在这里,我有一个疑问:每个开发人员从dev_branch_01完成的所有短期开发分支都可以被删除

在TFS中,分支不会被物理删除,当您第一次删除时,TFS只会从主视图(下图)中隐藏。因为你不能用相同的名字给一个分支命名两次,所以要重用一个名字,你需要强制删除,我不推荐这样做

所以,你的第一个问题的答案是肯定的,可以毫无问题地删除它,记住,你以后不能用相同的名称创建新的分支

如果要查看已删除的分支,请单击源代码管理资源管理器中的按钮Xx。使用此选项,您将看到旧分支的所有历史记录,这很好,因为这是Git ease所没有的想法

是否也可以删除dev_branch_01

我不建议这样做,原因有二

1-我知道你将来会想重新创建这个分支,就像我说的,你不能用相同的名称创建两次分支


2-此分支处于活动状态时,您将能够恢复因任何原因删除的分支,并保持分支之间的历史一致性。

第一个问题是,为什么在这个新项目中选择tfvc而不是git?Git在创建功能分支并将其重新缝合在一起时将更加灵活。@ManxJason好吧,基本上是因为我的公司在其他项目中使用tfvc。我的公司在其他项目中使用VB.net,但这并不意味着我用它创建了一个新项目。您的团队应该看看Git,看看它是否能更好地为您服务。