推后自动结账

时间:2013-07-07 15:54:25

标签: git githooks

我有一台服务器,我发送了我的工作成果。在每个命令git push之后,我必须通过SSH连接并输入命令将我的远程存储库切换到最新版本:

git checkout NNNN

我可以简化此操作吗?

P.S。在提交这个问题之前,我找到了一些关于GitHooks的信息。我可以将它用于上述任务,例如在结账后重新启动Rails服务器吗?

2 个答案:

答案 0 :(得分:2)

当然,你可以简化它!

假设您正在使用Github。创建一个Web服务,可以使用您选择的语言从Web访问。该服务需要接受requests like this并完成您需要的工作。创建之后去Github。在项目设置中,转到Settings,然后转到Service Hooks。您需要添加WebHook URL。输入您的服务的URL。就这样。 Bitbucket也有这样的功能,在项目的管理区域中命名为Service。您需要创建POST服务才能执行此操作。

如果您在自己的服务器上托管您的仓库,则可以使用post-update hook

没有post-push挂钩或类似的挂钩,因此您不能简单地在本地计算机上触发作业。

答案 1 :(得分:0)

在第一次提交到远程仓库以避免 error: refusing to update 之前我不得不这样做:

git config receive.denycurrentbranch ignore

要启用自动结帐,只需设置

git config receive.denycurrentbranch updateInstead