我们希望每个在我们的git存储库中推送的人在完成之前运行“grunt”。我们通过在.git/hooks/pre-push
中使用预推钩并在该文件中编写npm install
和grunt
来强制执行此操作。
我们还有一个TFS存储库。我正在寻找在这里使用的类似逻辑。这意味着,当有人试图检查某些内容时,我们需要一种“门禁登记”。这只会启动PowerShell并在本地运行npm install
和grunt
。< / p>
我们不希望TFS做任何其他事情(运行构建,运行测试等等(所有这些都在grunt任务中完成)。)
这可能吗?谁知道怎么做?
答案 0 :(得分:1)
TFS与您在本地所做的事情无关。您可以向repo添加任意数量的预提交挂钩并将它们推送到TFS。 TFS将很乐意存储这些钩子脚本。当您使用支持它们的客户端时,该客户端将在提交前执行它们。
但是如果你希望Visual Studio在提交之前运行这些钩子,你可能会运气不好。没有&#34;登记政策&#34;连接到Git时支持Visual Studio。据我所知,目前基于LibGit2的任何其他Git客户端都没有。
您可以设置链接到CI构建的分支策略,在构建服务器上有效地运行grunt任务,但我知道这不是您想要的。
LibGit2问题部分which is what Visual Studio uses to implement its git functionality提供了一些背景资料。这相应的user voice item for Visual Studio。作为使用相同底层库的well as a discussion on the GitHub for Windows client。