文件夹转换为分支?

24
在TFS(我们使用2012版)中,为什么默认将源文件夹转换为分支? 选项 我真的不认为源代码是一个分支。这样做有什么优缺点吗?
3个回答

34

澄清一下 James Reed 回答中的一些术语。

关于 "我不认为源代码是分支"

在生物树中, 不被称作 枝条

在计算机术语中,分支关系 的两侧都被称为 分支。只有可视化工具才选择将原始 分支 显示为生物树上的 。(因为可视化工具是由我们编写和设计的,我们更喜欢将 [第一个原始] 源分支 视为生物树的 ,而将 目标分支 视为从 上分出的 枝条。)

在 TFS 2008 术语中,分支 是一个具有与另一个 文件夹 分支关系文件夹。它们在内部都是 文件夹对象

在 TFS(自 2010 年起)的术语中,分支 是一个内部的 分支对象,非常类似于 文件夹对象,但具有许多额外的元数据(和不同的图标)。

关于为什么默认转换源文件夹为分支?

在几乎所有正常情况下,当您要 分支干 时,您希望将源 文件夹 [对象] 转换为 分支 [对象],以便您可以获得所有这些额外的元数据,从而实现额外的可视化和操作,这是使用普通的 文件夹 [对象] 无法实现的。

限制条件是一个Branch [对象]不能包含另一个Branch [对象],但是一个Branch [对象]可以包含一个Folder [对象]。因此,在复杂的项目中,有时您需要将一个Branch [对象]转换回Folder [对象],以便将其放入更高级别的Branch [对象]中。
要执行此操作,请使用菜单命令文件/源代码控制/分支和合并/转换为文件夹。(:它不在右键上下文菜单中,因为它很少使用:)
如果在管理整个项目时,您发现需要/想要将Folder转换为Branch(而不使用正常的Branch命令创建分支关系),请使用菜单命令文件/源代码控制/分支和合并/转换为分支

对于那些从SVN转过来的人来说非常有帮助。看起来我必须将主分支转换回文件夹,然后将各个项目分成单独的主分支。不管为什么我必须这样做,但你让我的一天更轻松了。谢谢! - Pawel Cioch

23

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

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

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


1

扩展James Reed的回答。 根据微软TFS这里的文档:

"分支"相比于"文件夹"有两个主要优点:

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

  2. 能够跟踪您的变更集

将文件夹或文件分支

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


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接