Git post接收电子邮件:未知类型(提交)
我对Git的post receive电子邮件挂钩脚本有问题。以下是我所做的:Git post接收电子邮件:未知类型(提交),git,githooks,Git,Githooks,我对Git的post receive电子邮件挂钩脚本有问题。以下是我所做的: 在我的服务器上,我使用:git--bare init myrepo.git初始化了一个裸存储库。我的服务器的Git配置文件显示core.bare=true 安装程序是否使用Git邮件指南进行post接收 在我的客户端上,使用git clone URL克隆存储库。在我的客户端上,Git config是core.bare=false 做了一些工作,添加了新文件,提交到本地Git 使用以下命令将更改推送到远程存储库:git
git--bare init myrepo.git
初始化了一个裸存储库。我的服务器的Git配置文件显示core.bare=true
git clone URL
克隆存储库。在我的客户端上,Git config是core.bare=false
git push origin master
,该命令为已完成的提交发出生成的ref id/post-receive-refs/heads/master的hooks
目录中的post-receive-hook脚本
没有生成电子邮件
有什么线索可能是错的吗 虽然我使用了一个分发版
post receive email
脚本,但我在脚本中发现了一个奇怪的bug。在我的版本中,post receive email
的末尾说:
prep_for_email $2 $3 $1 && PAGER= generate_email
应该是哪一个
prep_for_email $1 $2 $3 && PAGER= generate_email
此更改解决了我对
post receive
的手动调用。我希望这有助于其他可能面临此问题的人。您在脚本编写的很早就已经死了,因此应该很容易调试。git rev parse
、git rev parse
、git cat file-t$(git rev parse)
和git cat file-t$(git rev parse)
的好处是什么?谢谢你的提示。我在回答中描述了这个问题。我实际上不认为是脚本有问题,而是post-receive.sample中的说明有问题。看起来它是在大约九个月前在1.7.7(commit 8d714b1)中被完全删除的。更重要的是,这真的修复了你的服务器吗?该行的调用仅在传递参数时进行。脚本中的注释表明,当它作为服务器端钩子脚本运行时,它不会以这种方式运行,但如果不进行一些实验,我不能肯定。