【问题标题】:Is it possible to add a "Precommit hook" on TFS?是否可以在 TFS 上添加“预提交挂钩”?
【发布时间】:2015-04-20 19:10:43
【问题描述】:

我们希望每个在我们的 git 存储库中进行推送的人在完成之前运行“grunt”。我们通过在.git/hooks/pre-push 中添加一个预推送挂钩并在该文件中写入npm installgrunt 来强制执行此操作。

我们还有一个 TFS 存储库。我正在寻找在这里使用的类似逻辑。意思是,当有人尝试签入时,我们想要一种“门控签入”。这只会启动 PowerShell 并在本地运行 npm installgrunt

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

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

【问题讨论】:

    标签: git tfs gruntjs pre-commit-hook pre-commit


    【解决方案1】:

    TFS 与您在本地执行的操作无关。您可以将尽可能多的预提交挂钩添加到您的存储库并将它们推送到 TFS。 TFS 将愉快地存储这些钩子脚本。并且当您使用支持它们的客户端时,该客户端将执行它们预提交。

    但是,如果您希望 Visual Studio 在提交之前运行这些钩子,那么您可能不走运。连接到 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 使用相同的底层库。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2013-10-05
      • 2020-08-15
      • 2021-03-29
      • 1970-01-01
      • 2017-11-09
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多