在TFS(我们正在使用2012)中,为什么默认情况下将源文件夹转换为分支?
我真的不认为源是分支。这有什么优点/缺点呢?
答案 0 :(得分:29)
在James Reed的回答中澄清一些术语。
重新:“我不认为来源是分支”
在生物树中, Trunk 不称为分支。
在计算机术语中,branching relationship
的两边都称为Branches
。只有可视化选择将原始分支显示为生物树上的 trunk 。 (因为可视化工具是由我们的人们编写的,他们喜欢认为 [1st original] source branch
作为生物树的 Trunk ,并且<{1>}作为分支关闭 Trunk 。)
在TFS 2008术语中,target branch
是Branch
,Folder
与另一个branching relationship
相同。在内部,它们都是Folder
。
在TFS(自2010年起)的术语中,folder objects
是一个内部Branch
,非常类似于branch object
,其中包含大量额外元数据(以及不同的图标)。
re:为什么默认情况下将源文件夹转换为分支?
在几乎所有正常情况下,当您想分支中继时,您希望源folder object
[对象]转换为Folder
[对象],以便你拥有所有额外的元数据,这允许额外的可视化和操作只有Branch
[对象]不可用。
限制是Folder
[对象]可能不包含其他Branch
[对象],但Branch
[对象]可以包含Branch
[对象] 。因此,有时候,在复杂的项目中,您可能需要将Folder
[对象]转换回Branch
[对象],这样您就可以将它放在更高的Folder
[对象]中。
为此,请使用菜单命令文件/源代码管理/分支和合并/转换为文件夹。 (:右键单击上下文菜单,因为它很少需要。:)
如果在管理整个项目时,您发现需要/想要将Branch
转换为Folder
(尚未使用正常Branch
创建branching relationship
命令),使用菜单命令文件/源代码管理/分支和合并/转换为分支。
答案 1 :(得分:19)
我不确定你的意思是“我不认为源是一个分支”根据定义,源文件夹一旦你从它创建一个分支就成为一个分支。目标文件夹也是一个分支,它是源分支的子代。
启用此功能没有任何缺点。无论您是否启用此功能,源和目标都将具有分支关系,您将能够合并两个分支之间的更改。
如果启用此框,并且能够在源和目标之间进行合并,您还可以使用Visual Studio中的分支可视化工具。当您想要了解代码在分支和合并关系之间如何流动时,这些工具非常有用。
答案 2 :(得分:0)
扩展James Reed的答案。 根据Microsoft关于TFS here的文档:
与“文件夹”相比,“分支”有两个主要优点:
查看分支层次结构的能力
能够跟踪您的变更集
分支文件夹或文件
尽管您可以分支文件夹或文件 我们建议您直接避免这种情况。否则,您将不会 能够查看您的分支层次结构或跟踪您的变更集。