何时使用标签/标签以及何时进行分支?

30 version-control tfs

使用TFS,您何时会标记您的代码以及何时分支?

TFS中是否有主线/主干的概念?

Mar*_*ard 45

TFS中的标签是一种标记文件集合的方式.标签包含一堆文件和文件的版本.这是一种非常低成本的方式来标记哪些版本的文件构成了构建等.

分支可以被认为是TFS中不同目录中的文件(某个版本)的副本(TFS知道这是一个分支,并且会记住它是分支的文件和版本).

正如Eric Sink所说,一个分支就像一只小狗.它需要一些照顾和喂养.

就个人而言,我经常标记,但很少分支.我为每个构建创建了一个标签,但只有当我知道我需要处理历史版本或者我需要独立于主代码行工作时才进行分支.您可以从任何时间点(以及标签)创建一个分支,这样可以很好地工作,这意味着我们没有分支处于未使用的分支.

希望有所帮助,

马丁.


san*_*247 11

在任何VCS中,当您需要代码快照时,通常会将其作为未来的参考.当您想要开发新功能时,您可以分支,而不会干扰当前代码.


小智 11

安德鲁声称标签比分支更懒惰; 在大多数情况下,它实际上更有效,而不是懒惰.标记可以允许用户在任何时间点抓取项目,保留为版本或构建更改文件的历史记录,并在任何时候分支/处理代码,然后合并回主分支.而不是安德鲁所说的,建议您只在需要多组二进制文件时进行分支 - 例如,当QC和Dev开发同时进行或者您需要将修补程序应用于旧版本时.


And*_*are 2

我总是将标签视为懒人的分支。如果您要做的事情非常重要,需要完整源代码标签,那么最好用分支来表示它,以便与该工作相关的所有任务都位于一个有组织的位置,仅包含受影响的代码。

然而,分支非常强大,值得学习。TFS 不是最好的源代码控制,但也不是最差的。TFS 确实支持主干的概念,所有分支也从主干中发芽。

我推荐这是一个阅读最佳实践的好地方——至少就 TFS 而言。

  • 恕我直言,这是一个非常糟糕的建议,因为标签和分支机构做了两种截然不同的事情。如果有人在尝试完成分支时滥用标签,我会同意,但标签的作用正如其名称所暗示的那样:它们标记并分组一组特定的文件,这对于不涉及分支的原因很有用。如果您在有多个发布阶段的情况下工作,那么实用性(和差异)就会变得非常明显。因此,我投了反对票。 (14认同)
  • @McGuireV10 我同意 Andrew Hare 使用短语“我总是将标签视为......”——因为标签绝对有一个强大的“适当”用例。话虽如此——来自 Subversion 背景,然后穿过分布式 VCS 世界并回到 TFS(本身不是选择)——对于 Subversion 转换者来说,标签似乎是标签的弱替代品,这可能这就是为什么有些人混合使用标签和分支的原因。当然,对于从 TFS 迁移到 SVN 的人来说,标记似乎是标签的一个相当严厉的替代品。:) (2认同)