2012-07-28 62 views
2

从SVN最近移植到Git后,我对Git世界相当陌生,我试着去了解post-receive钩子。Git:了解post-receive

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


例如,

post-receive钩子在服务器上运行。发送命令到客户端/提交者和他们的计算机上运行此命令(如回声凯明收到。)


很遗憾,如果我得到这一切完全错误 - 我是新来的Git。

+1

[Pro Git的第7.3章](http://git-scm.com/book/ch7-3.html)是熟悉Git钩子的极好资源。 – 2012-07-28 13:42:56

+0

在Pro Git v2中,现在是[第8.3章](http://git-scm.com/book/en/v2/Customizing-Git-Git-Hooks)。 – 2016-01-31 18:03:51

回答

0

我在git的钩子没有专家的,我只是学习使用他们自己,但我会建议读这对于在钩子上的一些背景/背景:

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

在回答您的具体问题,你不会使用后收到钩在客户端上运行命令,你会改用客户端挂钩等中的一种:

后提交

这将是我相信客户端e等同于接收后(即整个提交过程完成后)。

+0

我已阅读您的链接,但无法找到它未执行的原因。我已经将权限设置为777.只有一个人建议检查使用哪种传输协议,但我找不到如何检查 – 2015-01-06 08:22:47

+0

这听起来像您需要问自己单独的问题。这个问题是关于理解在成功提交后在客户端使用哪个钩子来运行命令。 – 2015-01-07 18:06:49

+0

我想通了。通过文字服务器,它意味着bitbucket或像这样的一些服务器。我正在尝试在我的服务器上。但是我的服务器是与bitbucket相关的客户端。所以这就是为什么它不起作用。我认为这应该更清楚地记录下来,因为通常当开发人员考虑服务器时 - 它是一个放置网站文件的Linux服务器。但为此,我使用了合并后命令,所以当我在服务器上运行git pull时,它会合并并执行一个钩子。 – 2015-01-08 06:37:05