Git 是否可以添加一个“;“预调试挂钩”;关于TFS?

Git 是否可以添加一个“;“预调试挂钩”;关于TFS?,git,tfs,gruntjs,pre-commit-hook,pre-commit,Git,Tfs,Gruntjs,Pre Commit Hook,Pre Commit,我们希望每个在我们的git存储库中进行推送的人都在推送之前运行“grunt”。我们通过在.git/hooks/pre-push中设置一个预推钩子并在该文件中写入npm-install和grunt来实现这一点 我们还有一个TFS存储库。我在这里寻找类似的逻辑。也就是说,当有人试图签入某些内容时,我们需要一种“门控签入”。这将仅启动PowerShell并在本地运行npm安装和grunt 我们不希望TFS做任何其他事情(运行构建、运行测试等(所有这些都是在grunt任务中完成的)) 这可能吗?有人知道

我们希望每个在我们的git存储库中进行推送的人都在推送之前运行“grunt”。我们通过在
.git/hooks/pre-push
中设置一个预推钩子并在该文件中写入
npm-install
grunt
来实现这一点

我们还有一个TFS存储库。我在这里寻找类似的逻辑。也就是说,当有人试图签入某些内容时,我们需要一种“门控签入”。这将仅启动PowerShell并在本地运行
npm安装
grunt

我们不希望TFS做任何其他事情(运行构建、运行测试等(所有这些都是在grunt任务中完成的))


这可能吗?有人知道怎么做吗?

TFS与您在本地的工作无关。您可以向repo添加尽可能多的预提交挂钩,并将它们推送到TFS。TFS很乐意存储这些钩子脚本。当您使用支持它们的客户机时,该客户机将在预提交时执行它们

但是,如果您希望VisualStudio在提交之前运行这些钩子,那么您可能运气不好。连接到Git时,Visual Studio不支持“签入策略”。据我所知,目前在基于LibGit2的任何其他Git客户端中也没有

您可以设置链接到CI生成的分支策略,在生成服务器上有效地运行grunt任务,但我知道这不是您想要的

LibGit2发行版部分提供了一些背景资料。这是相应的。它使用相同的基础库