Git可以用什么语言写钩子脚本?

Which language can I use to write a hook script in Git?

我想知道您可以在 Git 中的钩子脚本中使用的脚本语言。

我一直在阅读有关如何使用 Git 钩子的信息,但我还没有在任何地方看到可以使用的语言,我看到了一些看起来是用 Perl 编写的示例,但我不确定因为我从来没有用 Perl 编程过。

可以使用任何语言,编译的或解释的(只要系统上有合适的解释器)。

在事件发生之前 运行(例如 pre-commitpre-rebasepre-push 等)并允许阻止事件处理的挂钩的唯一要求是 return 退出代码 0 表示成功(让操作继续)或非零退出代码以中止操作。

事件发生后 运行 的挂钩的退出代码(例如 post-checkoutpost-commit 等)无关紧要;他们不能改变任何东西,必须做的事情在他们被调用之前已经完成了。

阅读 "Customizing Git - Git Hooks" page from the Git Book 了解详情。