繁体   English   中英

如何使用 TFS 使用 master 的更改更新当前分支?

[英]How to update current branch with changes from master using TFS?

我有一个使用 Team Foundation Server (TFS) 进行修订控制的项目代码。 我使用 Visual Studio 2019 从main创建了一个名为br-feature的新分支。从那时起,我的main分支发生了变化。 我想将所有新更改从main分支拉到当前的br-feature分支,以确保在我将更改从br-feature合并到main之前一切正常。

我没有看到使用 Visual Studio 快进当前分支的选项。 如何使用 TFS 将main分支中的所有更改拉入br-feature

从评论来看,repo 是 TFVC。 TFS 可以托管 TFVC 和 git 存储库。

使用 TFVC:

  • 确保您具有已配置且有效的 Team Project 连接。 (从“团队”菜单中选择“管理连接...”。)
  • 确保在“工具 --> 选项...”菜单打开的对话框中,在“插件选择”的“源代码管理”部分中,“Visual Studio Team Foundation Server”是一个选项。 (插件选择应根据所选的存储库进行更新。)
  • 如果您还没有,您将需要连接到 TFVC 存储库并建立一个本地工作区。 这两个分支都需要映射到您的工作区。
  • 在“团队资源管理器”window 中,单击“主页”按钮。 在“主页”窗格中,单击“源代码管理资源管理器”链接以打开“源代码管理资源管理器”window。
  • 在“Source Control Explorer”window 中,当您右键单击上下文菜单中的分支时,应该会出现“Branching and Merging --> Merge...”选项。

在 TFVC 中,分支是分层的。 问题描述表明br-featuremain的子分支。 main (父分支)合并到br-feature (子分支)应该是直截了当的。

TFVC 是基于文件的,而不是像 git 那样基于快照的。每个文件都有自己的增量链。 TFVC 变更集相当于 git 次提交,但它是文件的一组增量。

因为 TFVC 是基于文件的,所以文件添加和文件删除有些特殊。 为了保持变更集的顺序正确,请始终先将父项合并到子项,然后再将子项合并到父项。 即确保main中的更改合并到br-feature并且br-feature在将br-feature合并到main之前与main保持同步。 “顺序”对于文件添加和删除的解释方式很重要。

通过分支层次结构,自动合并逻辑能够执行三向比较:当前“目标”文件、传入的已更改“源”文件以及两者的共同祖先。 但是分支层次结构可能非常有限。

当您从上下文菜单中选择“合并...”时,“合并”对话框将打开。 您单击的分支将被选择为源分支,您将能够 select 目标分支。 (合并是从“源”到“目标”。)

您要使用的是“特定版本的所有更改”选项。 它将默认为T ,这是最新的修订版(有点像带有 git 的HEAD )。

(在“合并”对话框中,您会看到有关“合并关系”的语言 - 这意味着分支之间存在父/子关系。您还会看到提及“无基础合并” - 这意味着没有父/子关系。自动合并逻辑不支持无基础合并。如果您执行无基础合并,则所有更改都需要手动合并。)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM