我有一台服务器,用来发送我的工作结果。每次执行 git push
命令之后,我都需要通过 SSH 连接并输入命令将我的远程存储库更新到最新版本:
git checkout NNNN
我可以简化这个操作吗?
P.S. 在提交这个问题之前,我已经查找了一些关于GitHooks的信息。我可以将其用于上述任务,例如在检出后重新启动Rails服务器吗?
当然,你可以简化它!
假设你正在使用Github。创建一个webservice,可以使用您选择的语言从Web访问。该服务将需要接受此类请求并执行所需的工作。创建后转到Github。在项目设置中转到Settings
,然后转到Service Hooks
。您需要添加WebHook URL
。输入您的服务的URL。就这些。 Bitbucket也有这样的功能,在您的项目的管理员区域中命名为Service
。您需要创建POST
服务来完成此操作。
如果您将存储库托管在自己的服务器上,则可以使用post-update
hook。
没有post-push
钩子或类似的东西,因此您无法简单地在本地计算机上触发作业。
在第一次提交到远程仓库之前,为了避免出现error: refusing to update
错误,我被迫执行以下操作:
git config receive.denycurrentbranch ignore
git config receive.denycurrentbranch updateInstead