24

在 TFS(我们使用的是 2012)中,为什么默认将源文件夹转换为分支? 选项

我真的不认为源是一个分支。这有什么优点/缺点(如果有的话)?

4

3 回答 3

32

只是澄清詹姆斯里德的回答中的一些术语。

回复:“我不认为来源是一个分支”

在生物树中,Trunk不称为Branch

在计算机术语中,a 的两边branching relationship都称为Branches。只有可视化选择将原始分支显示为树干,就像在生物树上一样。(因为可视化工具是由我们人类编写的,并且是为我们人类编写的,他们更愿意[第 1 原版]source branch视为生物树的树干,并将其视为树干target branch分支

在 TFS 2008 术语中, aBranch是 aFolderbranching 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

于 2015-04-09T13:57:29.443 回答
21

我不确定您所说的“我不认为源是分支”是什么意思,根据定义,只要您从中创建一个分支,源文件夹就会成为一个分支。目标文件夹也是一个分支,它是源分支的子分支。

启用此功能没有任何缺点。无论您是否启用此功能,源和目标都将具有分支关系,您将能够合并两个分支之间的更改。

如果您启用了此框,并且能够在源和目标之间合并,您还可以使用 Visual Studio 中的分支可视化工具。当您想了解代码如何在分支和合并关系之间流动时,这些工具很有用。

于 2012-10-16T14:31:08.027 回答
0

扩展詹姆斯·里德的答案。根据此处关于 TFS 的 Microsoft 文档:

与“文件夹”相比,“分支”有两个主要优势:

  1. 能够查看您的分支层次结构

  2. 能够跟踪您的变更集

分支文件夹或文件

虽然您可以直接分支文件夹或文件,但我们建议您避免使用它。否则,您将无法查看您的分支层次结构或跟踪您的变更集。

于 2020-02-12T16:24:35.083 回答