2

我遇到了 Git 的 post-receive-email 挂钩脚本的问题。这是我所做的:

  1. 在我的服务器上,我使用以下方法初始化了一个裸存储库:git --bare init myrepo.git. 我服务器的 Git 配置文件说core.bare = true
  2. 是否使用 Git 电子邮件指南进行设置以进行后期接收
  3. 在我的客户端上,使用git clone URL. 在我的客户端上,Git 配置是core.bare = false.
  4. 做了一些工作,添加了新文件,提交到本地 Git
  5. 使用以下命令将更改推送到远程存储库:git push origin master它为完成的提交发出生成的 ref-id
  6. 但我没有收到电子邮件;因此尝试在hooks目录中的服务器上运行接收后挂钩脚本./post-receive <oldrev> <newrev> refs/heads/master

不断返回以下错误:

c9c047af 更新类型未知(提交)
未生成电子邮件

有什么线索可能是错的吗?

4

1 回答 1

1

虽然我使用了分发post-receive-email脚本,但我在脚本中发现了一个奇怪的错误。在我的版本结束时post-receive-email说:

prep_for_email $2 $3 $1 && PAGER= generate_email

应该是

prep_for_email $1 $2 $3 && PAGER= generate_email

更改解决了我对post-receive <oldrev> <newrev> <refname>. 我希望这可以帮助其他可能面临它的人。

于 2012-07-03T19:07:48.307 回答