我有一台服务器,我发送了我的工作成果。在每个命令git push
之后,我必须通过SSH连接并输入命令将我的远程存储库切换到最新版本:
git checkout NNNN
我可以简化此操作吗?
P.S。在提交这个问题之前,我找到了一些关于GitHooks的信息。我可以将它用于上述任务,例如在结账后重新启动Rails服务器吗?
答案 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