0

我有一个正在设置的网站,我想使用 git 进行版本控制。我的想法是创建一个 beta 子域,我可以在其中测试站点,然后将其“推送”到 public_html 文件夹中的主站点。一切都需要在服务器上才能访问数据库。我试图将主站点实际克隆到 beta 文件夹中,但在尝试推送到主站点时收到以下错误。

remote: error: By default, updating the current branch in a non-bare repository denied

我尝试使用裸仓库,但这对网站没有好处,因为它不包含工作树。

有一个更好的方法吗?

4

1 回答 1

1

我认为您可以使用“git post-receive hook”。

在服务器上,您必须使用两个存储库:

  • 裸存储库(您将通过“git push”上传代码)
  • 这个裸存储库的克隆。此克隆将托管您的网站

在裸存储库上,您配置 post-receive-hook:当存储库更新时,您可以自动执行克隆存储库的更新以更新您的网站。

于 2012-07-12T19:47:18.850 回答