如何阻止包含特定关键字的TFS签入?

如何阻止包含特定关键字的TFS签入?,tfs,checkin-policy,Tfs,Checkin Policy,我想创建一个TFS策略,如果在差异中找到某个关键字,该策略将阻止签入变更集 这将允许我对测试想法进行本地更改,而不用担心这些更改会被错误地签入,只要我在代码中添加类似//nocommit的内容 如何做到这一点?没有现成的签入策略来满足您的要求,您必须自定义自己的签入策略,并使用命令tf diff itemspec/noprompt来比较文件 作为建议,可以考虑使用,创建一个分支,并在分支上工作。当您准备将代码合并到master时,请创建一个脚本来检查代码。为了保护主人,你可以设置主人。设置分支策

我想创建一个TFS策略,如果在差异中找到某个关键字,该策略将阻止签入变更集

这将允许我对测试想法进行本地更改,而不用担心这些更改会被错误地签入,只要我在代码中添加类似
//nocommit
的内容


如何做到这一点?

没有现成的签入策略来满足您的要求,您必须自定义自己的签入策略,并使用命令
tf diff itemspec/noprompt
来比较文件


作为建议,可以考虑使用,创建一个分支,并在分支上工作。当您准备将代码合并到master时,请创建一个脚本来检查代码。为了保护主人,你可以设置主人。设置分支策略后,不能直接将更改推送到分支。对分支的更改只能通过拉请求进行

如果你忘了添加那个神奇的关键字怎么办?@danish那么变更集将在一个门控构建后签入。我知道我可以在构建服务器上的门控签入机制上实现我想要的东西,但它不会像本地策略那样即时。我不认为有一种健壮的方法可以通过策略实现这一点。若可以使用掩蔽特性,您可能需要检查掩蔽特性,或者编写一个自定义代码分析规则,该规则将在签入期间进行评估。此规则应查找注释(使用TODO)并抛出错误。然而,这是太多的工作。签入策略可以强制执行,比如输入注释和分配工作项等,如果开发人员仍然没有意识到,我们将需要执行回滚。