59

我们刚刚开始使用 TFS 2012,这似乎是 2008 年 VS2012 可用性的巨大升级。

但是,如果您将工作与某个任务联系起来,“我的工作”功能有一个非常烦人的功能。将任务与工作项连接后,对任何分支的任何签入都会将该任务标记为“完成”状态。我怎样才能禁用它?我想要开发分支,这样我就可以在开发过程中进行小提交,但是如果我这样做,我无法将任务与我当前的工作联系起来。做到这一点的唯一方法(我知道)是在我将个人分支中的所有小提交合并到 master 之前为我当前的工作选择任务。是的,这是可行的,但它不像它可能的那样好的工作流程。

使用 scrum 模板中的任务板功能,在工作完成后将任务移动到完成无论如何都是工作流程中微不足道且常见的部分。自动完成的运动是非常烦人的自动化,不应该存在。

所以我的问题是:如何禁用它?此功能是模板的一部分还是与 TFS 工作项管理更深入的集成?

我们正在使用 Microsoft 的 Scrum 2.0 模板。

4

3 回答 3

78

当您在 Pending Changes 面板中准备签入您的修复并将您的工作项与变更集相关联时,您应该将“Resolve”更改为“Associate”(或 Scrum 中的任何内容)。

待更改


为了使这个默认值更复杂。

您将需要为正在使用的工作项类型(Bug、任务等)编辑工作项模板定义。

一种选择是完全删除“解决”选项,您可以按如下方式执行此操作:

打开您的 Work Item Type 的 XML(或 Power Toys 中的 GUI,如果您愿意): 查找并删除:

  • <ACTION> <ACTION value="Microsoft.VSTS.Actions.Checkin" /> </ACTION>

模板中的部分 - 它将<TRANSITIONS>针对 2 个状态之间的特定转换。

这样做意味着 TFS 永远不会在签入过程中转换您的工作项,您每次都必须这样做。

另一个选项是添加一个没有签入操作的新工作项“状态”(例如“开发中”)。然后,您可以将您的工作项目转换到此状态,然后对其进行处理,然后返回到“已分配”(或其他),然后再将它们签入并“解决”它们。

Wrox的Professional Team Foundation Server 2010 书籍将有助于 WIT 编辑。

可能有更多方法可以做到这一点,这完全取决于您工作的团队和环境:)。


还有另一种仅影响的客户端计算机的方法:

要使“关联”成为默认操作(而不是“解决”),请设置注册表项

HKEY_CURRENT_USER\Software\Microsoft\VisualStudio\12.0\TeamFoundation\SourceControl\Behavior\ResolveAsDefaultCheckinActionFalse.

注意用VS2015、VS 2012 或VS 2010替换12.0(对于 VS2013) 。14.011.010.0

于 2012-09-04T13:40:54.160 回答
36

现在您可以升级到 VS2015(如果尚未这样做)并取消选中新复选框工具 > 选项 > 源代码管理 > Visual Studio Team Foundation > “在签入时解决关联的工作项”。之后,“关联”成为默认选项,您无需在提交时手动更改它

于 2015-11-05T16:04:09.590 回答
2

在 Visual Studio 2015 中,这可以通过在“选项”菜单中取消选中“在签入时解决关联的工作项”来完成。

Tools > Options > Source Control > Visual Studio Team Foundation Server

Visual Studio 屏幕截图

编辑:错别字

于 2018-10-25T11:22:36.047 回答