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

时间:2009-02-12 16:08:34

标签: version-control tfs

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

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

4 个答案:

答案 0 :(得分:45)

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

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

正如Eric Sink所说,a branch is like a puppy。它需要一些照顾和喂养。

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

希望有所帮助,

马丁。

答案 1 :(得分:11)

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

答案 2 :(得分:11)

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

答案 3 :(得分:2)

我总是把标签视为懒人的分支。如果你要做一些非常重要的事情,它需要一个完整的源标签,那么最好用一个分支来表示这一点,以便与该工作相关的所有任务都在一个只有受影响的代码的有组织的地方。

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

I would recommend this as a good place to read up on best practices - 至少就TFS而言。