![选项](https://istack.dev59.com/dmvPA.webp)
澄清一下 James Reed 回答中的一些术语。
关于 "我不认为源代码是分支"
在生物树中,干 不被称作 枝条。
在计算机术语中,分支关系
的两侧都被称为 分支
。只有可视化工具才选择将原始 分支 显示为生物树上的 干。(因为可视化工具是由我们编写和设计的,我们更喜欢将 [第一个原始] 源分支
视为生物树的 干,而将 目标分支
视为从 干 上分出的 枝条。)
在 TFS 2008 术语中,分支
是一个具有与另一个 文件夹
分支关系
的 文件夹
。它们在内部都是 文件夹对象
。
在 TFS(自 2010 年起)的术语中,分支
是一个内部的 分支对象
,非常类似于 文件夹对象
,但具有许多额外的元数据(和不同的图标)。
关于为什么默认转换源文件夹为分支?
在几乎所有正常情况下,当您要 分支干 时,您希望将源 文件夹
[对象] 转换为 分支
[对象],以便您可以获得所有这些额外的元数据,从而实现额外的可视化和操作,这是使用普通的 文件夹
[对象] 无法实现的。
Branch
[对象]不能包含另一个Branch
[对象],但是一个Branch
[对象]可以包含一个Folder
[对象]。因此,在复杂的项目中,有时您需要将一个Branch
[对象]转换回Folder
[对象],以便将其放入更高级别的Branch
[对象]中。Folder
转换为Branch
(而不使用正常的Branch
命令创建分支关系
),请使用菜单命令文件/源代码控制/分支和合并/转换为分支。我不确定你所说的“我不认为源代码是一个分支”的意思,根据定义,只要你从源文件夹创建一个分支,源文件夹就成为了一个分支。目标文件夹也是一个分支,它是源分支的子分支。
启用此功能没有任何缺点。无论您是否启用此功能,源和目标都将具有分支关系,并且您将能够在两个分支之间合并更改。
如果您启用了此框,除了能够在源和目标之间进行合并,您还可以在Visual Studio中使用分支可视化工具。当您想要了解代码在分支之间如何流动以及合并关系时,这些工具非常有用。
扩展James Reed的回答。 根据微软TFS这里的文档:
"分支"相比于"文件夹"有两个主要优点:
能够查看您的分支层次结构
能够跟踪您的变更集
将文件夹或文件分支
虽然您可以直接将文件夹或文件进行分支,但我们建议避免这样做。否则,您将无法查看您的分支层次结构或跟踪您的变更集。