由于其简单性,我们使用放置在共享磁盘上的远程存储库,使用文件系统路径(\ server \ share)访问它。在这种情况下,是否可以运行在远程存储库中定义的钩子脚本?我已经定义了一个,但似乎它没有启动(在钩子脚本中使用无效编辑进行测试,这应该会导致错误)。
答案 0 :(得分:26)
Git hook是一个脚本,你可以在提交之前(pre-commit)或之后(post-commit)运行。这样的剧本可以有多个。
将它们放在指定的文件夹中。任何git存储库都有一个.git/hooks
文件夹,其中包含挂钩脚本的文件。
你需要回答 您是否正在测试绑定到您的git存储库中存在的钩子的事件?
还要检查git如何在Windows中执行挂钩:
使用钩子的提示:
更多git hooks阅读:
答案 1 :(得分:2)
经过数小时的战斗后,我的建议再次确认:
git config core.hookspath
它应该为空或指向您的hooks文件夹(.git\hooks
)
答案 2 :(得分:0)
如果运行命令:
git config core.hooksPath .git-hooks
这将从项目根目录中查找.git-hooks文件夹中的钩子,与找到.git文件夹的位置相同。在此文件夹中运行命令时,请注意,从此开始执行的目录是项目根目录-而不是具有实际钩子的.git-hooks文件夹。这就是为什么您会收到“找不到命令”的原因。
.git-hooks / post-merge文件的示例内容
!#!/bin/bash
bower install
“ bower install”命令从父目录运行。