在 TFS(我们使用的是 2012)中,为什么默认将源文件夹转换为分支?
我真的不认为源是一个分支。这有什么优点/缺点(如果有的话)?
在 TFS(我们使用的是 2012)中,为什么默认将源文件夹转换为分支?
我真的不认为源是一个分支。这有什么优点/缺点(如果有的话)?
只是澄清詹姆斯里德的回答中的一些术语。
回复:“我不认为来源是一个分支”
在生物树中,Trunk不称为Branch。
在计算机术语中,a 的两边branching relationship
都称为Branches
。只有可视化选择将原始分支显示为树干,就像在生物树上一样。(因为可视化工具是由我们人类编写的,并且是为我们人类编写的,他们更愿意将[第 1 原版]source branch
视为生物树的树干,并将其视为树干target branch
的分支。)
在 TFS 2008 术语中, aBranch
是 aFolder
与branching relationship
另一个Folder
. 在内部,它们都是folder objects
.
在 TFS(自 2010 年以来)术语中,aBranch
是一个branch object
[非常类似于] a 的内部,folder object
具有许多额外的元数据(和不同的图标)。
回复:为什么默认将源文件夹转换为分支?
在几乎所有正常情况下,当您想要分支 Trunk时,您希望源Folder
[object] 转换为Branch
[object],以便您拥有所有额外的元数据,这允许额外的 Visualizations 和 Manipulations 不可用仅仅是Folder
[对象]。
一个限制是一个Branch
[object] 不能包含另一个Branch
[object],但一个Branch
[object] 可以包含一个Folder
[object]。所以有时,在一个复杂的项目中,你可能需要将一个Branch
[object] 转换回一个Folder
[object],这样你就可以把它放在一个更高的Branch
[object] 中。
为此,请使用菜单命令File / Source Control / Branching and Merging / Convert to Folder。(:它不在右键单击上下文菜单上,因为它很少需要。:)
如果在管理整个项目时,您发现需要/想要将 a 转换Folder
为 a Branch
(尚未branching relationship
使用普通Branch
命令创建 a),请使用菜单命令File / Source Control / Branching and Merging / Convert to Branch。
我不确定您所说的“我不认为源是分支”是什么意思,根据定义,只要您从中创建一个分支,源文件夹就会成为一个分支。目标文件夹也是一个分支,它是源分支的子分支。
启用此功能没有任何缺点。无论您是否启用此功能,源和目标都将具有分支关系,您将能够合并两个分支之间的更改。
如果您启用了此框,并且能够在源和目标之间合并,您还可以使用 Visual Studio 中的分支可视化工具。当您想了解代码如何在分支和合并关系之间流动时,这些工具很有用。
扩展詹姆斯·里德的答案。根据此处关于 TFS 的 Microsoft 文档:
与“文件夹”相比,“分支”有两个主要优势:
能够查看您的分支层次结构
能够跟踪您的变更集
分支文件夹或文件
虽然您可以直接分支文件夹或文件,但我们建议您避免使用它。否则,您将无法查看您的分支层次结构或跟踪您的变更集。