首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >未调用与提交相关的Git挂钩

未调用与提交相关的Git挂钩
EN

Stack Overflow用户
提问于 2015-07-30 05:03:06
回答 1查看 398关注 0票数 0

在任何人声称我在这个话题上搜索的答案还不够多之前,让我澄清一下:

我发现很多关于这个问题的帖子都已经解决了,但是这些答案对我来说都不起作用。

我已经确保执行提交的用户具有适当的权限。

我已经确保钩子文件本身是可执行的,并且不会以.sample结尾

我不是在纯repo中工作,所以应该调用与提交相关的钩子。

我尝试过使用Git Bash、Git提交工具,甚至是第三方图形用户界面GitEye进行提交,结果都是一样的。

无论我尝试从服务器上的存储库还是从本地计算机上的克隆调用它们,后提交和预提交都会失败。

如果我将钩子文件作为bash/批处理文件运行,那么钩子文件本身就可以成功地执行并正常工作。

其他钩子可以正常工作,但没有从git commit调用的钩子。

在这一点上,我已经用尽了我能想到的所有可能的问题。任何帮助都是非常感谢的,但请阅读我已经尝试过的内容,然后再不小心地将我引导到一个建议上述事情的帖子。我希望有一些晦涩难懂的修复方法,一些精通Git的用户可以向我解释。

EN

回答 1

Stack Overflow用户

发布于 2015-07-30 05:26:25

它就像一种护身符。在你的git库中有一些钩子示例,你可以这样使用它们:

例如:

1)一个简单的钩子(pre commit),它禁止提交并打印一条消息。

代码语言:javascript
复制
$ git init
$ cp ./.git/hooks/pre-commit.sample ./.git/hooks/pre-commit
$ cat ./.git/hooks/pre-commit

#!/bin/sh
cat <<\EOF
    This is pre-commit hook
EOF
    exit 1

$ touch README
$ git add README 
$ git commit
    This is pre-commit hook
$ git log
fatal: bad default revision 'HEAD'

2)一个简单的钩子(post commit),用于在提交后打印消息

代码语言:javascript
复制
$ rm -f ./.git/hooks/pre-commit
$ cat ./.git/hooks/post-commit 
#!/bin/sh
cat <<\EOF
    Good job!
EOF

$ git commit
    Good job!
[master (root-commit) b552b7f] README
 1 file changed, 0 insertions(+), 0 deletions(-)
 create mode 100644 README

$ git log --oneline
b552b7f README

正如您所看到的,这些钩子只是一个bash脚本,因此您可以对其进行自定义。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/31711072

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档