Azure Repos中的合并文件夹和文件
Azure DevOps Services | Azure DevOps Server 2020 | Azure DevOps Server 2019 | TFS 2018
Visual Studio 2022 |Visual Studio 2019 |Visual Studio 2017 |Visual Studio 2015 |Visual Studio 2013
由于 分支文件夹和文件中描述的各种原因,许多软件开发团队在分叉到各种分支的代码库中工作。 如果使用分支,最终团队必须集成在项目的某些阶段在不同分支上完成的工作。 例如,当你准备好测试软件的完整版本时,需要对不同功能团队分支所做的更改合并在一起。
本文中的过程建议如何使用Visual Studio的图形用户界面将不同分支中所做的更改合并在一起。 有关如何在命令提示符处执行合并的信息,请参阅 合并命令。
先决条件
若要执行这些过程,必须具有以下权限集:
必须具有源树中项的“读取”权限,并且目标树中项的“签出”权限设置为“允许”。
必须为目标路径设置 合并 权限。
如果目标树中的项正在重命名,则必须具有源树和目标树设置为“允许”的签出权限。
如果操作影响的任何文件都锁定,则必须将 “锁定 ”权限设置为 “允许”。
有关权限的详细信息,请参阅 默认 TFVC 权限。
从“源代码管理”窗口启动合并
重要
Visual Studio Team Foundation Server 2010 的发布开始区分分支和文件夹。 例如,在下图中,可以看到分支和文件夹如何以不同的图标显示。

虽然仍然可以在文件夹之间分支和合并,但团队的最佳做法是仅分支和合并分支。 有关详细信息,请参阅 分支文件夹和文件。
从源代码管理资源管理器合并分支、文件和文件夹:
在源代码管理资源管理器中,选择要合并的分支、文件夹或文件。
选择 “文件>源代码管理>分支”和“合并”,然后选择“ 合并”。
将显示 源代码管理合并向导 。 有关如何使用此向导完成合并的信息,请参阅 使用源代码管理合并向导完成合并。
从“跟踪更改集”窗口启动合并
可以使用“跟踪更改集”窗口查看信息,例如,更改集的创建位置、合并的位置以及发生这些事件的时间。 更改集尚未合并的分支也突出显示。 如果看到需要更改集但缺少的分支,请将其拖动到其中。
将更改集拖放到“跟踪更改集”窗口中
在源代码管理资源管理器中,选择分支、文件夹或分支中包含的文件。
右键单击所选项,然后选择“ 查看历史记录”。
在 “历史记录 ”窗口中,右键单击要查看的更改集,然后选择“ 跟踪更改集”。
此时会显示 “选择分支 ”对话框。
(可选) 在 “目标分支 ”列表中,检查要查看的分支,然后取消选中要隐藏的分支。
选择“可视化”。
此时会显示“跟踪更改集”窗口。
将包含更改集的分支拖动到目标分支。
此时会显示 “源代码管理合并向导 ”。 有关如何使用此向导完成合并的信息,请参阅 使用源代码管理合并向导完成合并。
示例:新方法在哪里?
若要说明如何使用前面的过程,请考虑以下示例。 Julie 要求 Chris 在 一些 FeatureTeamA 代码中实现新方法,她在 FeatureTeamB 代码中使用。 Chris 为新方法编写代码,然后将其签入 FeatureTeamA 分支。 当朱莉离开那天时,他在走廊里遇到朱莉,并提到他正在检查新方法。
朱莉回到办公桌前,找到最新的消息来源,但她看不到克里斯签入的新方法。 她打开源代码管理资源管理器,查看 FeatureTeamA 分支的历史记录窗口,她可以看到,更改集 50 Chris 确实签入了新方法。 她右键单击更改集 50 并选择 “跟踪更改集”,并显示以下窗口:

在“跟踪更改集”窗口中,Julie 可以看到 Chris 使用 changeset 50 签入了方法,并将其合并到具有 changeset 51 的 Dev 分支。 但是,在 changeset 51 合并到 FeatureTeamB 分支之前,Julie 无法获取新代码。 因此,她将 开发 分支拖到 FeatureTeamB 分支上,以启动 源代码管理合并向导,然后,该向导用于完成合并。
使用源代码管理合并向导完成合并
完成上述过程之一后,将显示源代码管理合并向导。 使用此向导可以指定合并的源和目标。 可以将一个整个分支合并到另一个分支,也可以选择要合并的特定变更集或更改集组。
使用源代码管理合并向导合并文件、文件夹或分支:
在源代码管理合并向导的 源分支中,键入项目源分支的名称,或选择 “浏览 ”以从列表中选择一个。
在 “目标分支 ”下拉列表中,选择要将源分支合并到的目标项目分支。
选择要合并到目标分支的更改范围,方法是选择“ 所有更改”到特定版本 或 “所选更改集 ”选项,然后选择“ 下一步”。
提示
如果可能,请选择“ 所有更改”以达到特定版本。 这种做法可降低将来合并中冲突的风险。
选择 “下一步”,然后在“ 执行合并操作 ”页上,选择“ 完成”。
生成一个或多个挂起的更改。
(可选) 如果要立即签入挂起的更改,可以执行以下步骤:
选择“视图”菜单,指向“其他Windows”,然后选择“挂起的更改”。
使用 “挂起的更改 ”窗口签入更改。 有关详细信息,请参阅 签入团队代码库的工作。