TFS:使用来自 main 的更改更新分支

Posted

技术标签:

【中文标题】TFS:使用来自 main 的更改更新分支【英文标题】:TFS: Updating branch with changes from main 【发布时间】:2011-07-16 02:51:33 【问题描述】:

所以,我们有我们的主开发线,我创建一个分支,开发人员 b 创建一个分支。我们都做一些工作。开发人员 b 完成他的工作,合并回主开发线。我知道他的更改会影响我,而不是稍后处理冲突,我想更新我的分支,使用现在在主开发线中的更改,这样我就可以在合并之前在我的分支中处理它们回到主目录。

我该怎么做?

【问题讨论】:

【参考方案1】:

从 Visual Studio,打开源代码管理资源管理器:

查看 |团队资源管理器 从 Team Explorer 中选择您的 Team Project,展开它,然后双击 Source Control 在源代码管理资源管理器的左侧窗格中,选择您的团队项目。 在右侧窗格中,找到您的主线分支,右键单击并选择 Merge...目标分支下拉列表中,选择您的开发分支。 如果您想要主线中所有更改的子集: 选择Selected changesets单选按钮,点击Next。 选择代表从其他开发分支合并到主分支的变更集,单击下一步。 否则,请保持直到特定版本的所有更改处于选中状态,然后单击下一步 下一步是选择版本类型。默认的 Latest Version 显然是简单明了且不言自明的:由于您的分支是从主线创建的,因此您将把所有更改都带到您的分支中。其他选项很简单,但此处提供的每个选项的教程说明会占用大量篇幅。 完成向导的剩余步骤。 点击完成。 如果有任何错误或合并冲突,系统将提示您解决它们,类似于在自上次签出后进行了其他更改时将更改签入源代码管理时所看到的情况。 合并完成后,所有更改都在分支的本地副本中,但尚未提交到源代码管理。在分支上完成所有构建和测试后,您可以签入合并。从 Visual Studio: 查看 |其他窗口 |待更改 确保检查与此合并相关的所有文件,添加描述合并的 cmets,然后单击签入

我建议将合并(以及任何必要的合并冲突解决、构建中断、测试中断)保留为它们自己的变更集。也就是说,不要将其他功能工作与合并混合。细粒度的变更集使查看源代码控制历史记录和识别感兴趣的单个变更变得更加容易。将合并工作保留在自己的变更集中有助于实现该目标。

还有用于合并的命令行,从 Visual Studio 命令提示符运行 tf merge /?

祝你好运,玩得开心!

【讨论】:

完美运行。谢谢。只是想确保我以正确的方式进行此操作。这是完美的。 如果当我被要求解决冲突时,我在如何解决冲突上犯了一个错误,我只想更正那个文件。是否可以还原该文件并重新合并该文件,以便在冲突合并中获得第二次机会? 如果我想将源 Main 中的特定标签合并到我的目标分支中怎么办?所需的标签是在原始分支操作之后创建的(只是为了清楚起见)

以上是关于TFS:使用来自 main 的更改更新分支的主要内容,如果未能解决你的问题,请参考以下文章

TFS未合并更改

用于更新文件和签入 TFS 的 Azure DevOps 管道任务

TFS Build 报告未显示原始分支的评论

TFS——级联分支的可持续性

使用 maven、teamcity 和 TFS 的分支策略

删除 TFS 2010 中的分支关系