Dav*_*ong 41 git bash github post-commit githooks
我的帖子提交挂钩在git之后没有运行.我已经验证了如果我从终端运行它,钩子确实有效.钩子中的代码是:
#!/bin/sh
#.git/hooks/post-commit
# An example hook script that is called after a successful
# commit is made.
#
# To enable this hook, rename this file to "post-commit".
perl -pi -e 's/([a-f0-9]+)$/'$( git rev-parse HEAD )/ ../../config/commit.git
Run Code Online (Sandbox Code Playgroud)
我确实将文件重命名为./.git/hooks/中的post-commit,权限是-rwxr-x-r-x如此,我不知道为什么它不起作用.
Ste*_* Lu 188
我会把这个留在这里作为答案,因为当我的 post-commit钩子没有运行时,我偶然发现了我自己的答案:
chmod +x .git/hooks/post-commit
可能适用于任何类型的钩子.实际上,可能适用于任何类型的脚本.
Pet*_*mer 27
尝试在perl行之前和之后放置一些回声线,如下所示:
echo "post-commit started"
perl ...........
echo "post-commit finished"
Run Code Online (Sandbox Code Playgroud)
这样,您可以确认脚本是否实际运行,因为您运行时
git commit
Run Code Online (Sandbox Code Playgroud)
你应该看到
post-commit started
post-commit finished
Run Code Online (Sandbox Code Playgroud)
接近输出结束.
Bry*_*son 17
我的post-commit脚本没有被调用,因为:
我已经命名了剧本post-commit.sh,而不仅仅是post-commit.
要启用钩子脚本,请将文件放在.git目录的hooks子目录中,该目录名称相应(没有任何扩展名)并且是可执行的.从那时起,它应该被称为.我们将在这里介绍大多数主要的钩子文件名.见git-scm
不知道为什么我的脑子里有钩子需要bash文件扩展名.
我也没有意识到钩子脚本不能有文件扩展名.例如,
如果要使用捆绑的钩子脚本,则必须重命名它们; 他们的文件名都以.sample结尾
希望这有助于某人.