【问题标题】:Git: Understanding post-receiveGit:了解接收后
【发布时间】:2012-07-26 22:33:57
【问题描述】:

最近从 SVN 迁移后,我对 Git 世界还很陌生,我正在尝试理解 post-receive 钩子。

希望我说这是一个服务器端钩子是正确的,但我将如何使用 post-receive 钩子在客户端运行命令,或者是否有另一个钩子来实现这一点?


例如。

post-receive 钩子在服务器上运行。向客户端/提交者发送命令,并且该命令在他们的计算机上运行(例如收到 echo Commit。)


如果我完全弄错了,我很抱歉——我是 Git 新手。

【问题讨论】:

标签: git githooks git-post-receive


【解决方案1】:

我不是 git hooks 方面的专家,因为我自己只是在学习使用它们,但我建议您阅读本文以了解 hooks 的一些背景/上下文:

http://git-scm.com/book/en/Customizing-Git-Git-Hooks

在回答您的具体问题时,您不会使用 post-receive 挂钩在客户端运行命令,而是使用以下客户端挂钩之一:

提交后

我相信客户端相当于 post-receive(即在整个提交过程完成之后)。

【讨论】:

  • 我已经阅读了你的链接,但找不到它没有被执行的原因。我已将权限设置为 777。只有一个人建议检查 git 使用什么传输协议,但我找不到如何检查
  • 听起来您需要单独提出问题。这个问题是关于了解在成功提交后在客户端使用哪个钩子来运行命令。
  • 我想通了。服务器一词是指 bitbucket 或类似这样的服务器。我正在我的服务器上尝试。但我的服务器是与 bitbucket 相关的客户端。所以这就是为什么它不起作用。我认为这应该更清楚地记录下来,因为通常当开发人员考虑服务器时 - 它是一个放置网站文件的 linux 服务器。但是为此我使用了 post-merge command ,所以当我在我的服务器上运行 git pull 时,它会合并并执行一个钩子。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2011-12-28
  • 1970-01-01
  • 2012-09-04
  • 2017-01-18
  • 2013-04-26
  • 1970-01-01
  • 2013-04-27
相关资源
最近更新 更多