TFS 2015 - 签入特定标签

Posted

技术标签:

【中文标题】TFS 2015 - 签入特定标签【英文标题】:TFS 2015 - Checkin to a specific Tag 【发布时间】:2019-12-17 01:37:22 【问题描述】:

我有一个TeamFoundationServer 2015 和一个项目(我们将其命名为 ProjectA)。 ProjectA 包含三个不同的解决方案(我们将它们命名为 SolutionA、SolutionB、SolutionC)

在这个 TFS 项目 (ProjectA) 下有不同的分支(我们将它们命名为 BranchABranchB 等)

每周我们都会从 BranchA 合并到 BranchB。

现在有趣的部分: 在一周之内,我确实更新了解决方案 A 和解决方案 B 的源代码。 现在,当每周合并出现时,我只想合并对 SolutionA 所做的所有更改。 为此,我手动检查属于 SolutionA 的所有变更集,然后合并它们。 这通常非常耗时,问题是这是否可以更容易实现。

所以我正在寻找某种方法来将我的源代码分配给某个特定的标签或类似的东西。所以我要做的就是:搜索标签 "XYZ" 并合并属于该标签的所有变更集。

非常感谢您。

【问题讨论】:

但除非您可以绝对保证标签应用于每个 SolutionA 签入和 SolutionA 签入,否则您仍然需要查看它们。您不能合并所有内容,然后撤消对其他解决方案的更改吗? 是的,带有“标签”的想法并不好。我可以合并所有内容,但撤消更改会迫使我再次知道对 SolutionA 进行了哪些更改,对 SolutionB 进行了哪些更改。在签入时进行某种自动分配会很棒,例如在 SolutionA 中具有标签或其他任何东西,并且对于 SolutionB 具有相同的东西。 哦,我明白了。哎哟。 【参考方案1】:

根据您的描述,您只想将解决方案 A 中的更改合并到另一个分支。您必须手动选择所需的变更集。

一种方法是使用 changeset comment 快速区分哪些属于解决方案 A 哪些属于 B。这将帮助您减少时间。只需要检查 cmets 而不是查看变更集详细信息。

您可以使用签入策略强制签入 cmets。详情请参考这篇博客--如何强制签入cmets。


此外,您还可以在进行合并时使用工作区版本。创建两个不同的工作区,一个用于解决方案 A,另一个用于 B。当您只想合并解决方案 A 的更改时,您可以合并本地工作区的最新版本。

这种方式有一些限制,除非您是唯一为解决方案 A 做出贡献的人。否则您需要从服务器端获取最新信息以在合并之前获取其他人的更改。您还可以合并一些尚未签入的更改。

【讨论】:

我目前正在使用 cmets 来区分项目,谢谢您的帮助 ;)

以上是关于TFS 2015 - 签入特定标签的主要内容,如果未能解决你的问题,请参考以下文章

Visual Studio 2015 在签入后不会立即删除挂起的更改(TFS 2015)

TFS Online Git - CI基于特定文件夹签入

如何为 TFS 中组的特定用户提供签出和签入访问权限

TFS 2015 - 自定义路径策略实施?

在TFS签入后自定义事件/操作

TFS 2010 从门控签入中排除文件类型