1

我一直在研究 git 网站部署,我遇到了 2 种不同的方法。它们似乎都有效,但我想知道我缺少什么优点/缺点。您使用这两种方法中的哪一种,为什么?

  1. 在公共 www 目录中具有分离的工作树的回购。您推送到 repo 并且 post-update 挂钩执行 checkout -f (类似于this
  2. 公共 www 目录中的裸回购和非裸回购。更新后挂钩执行 git reset 和 git pull。(类似于这个

方法 1 似乎更简单,因为您只需要担心 1 个存储库,但我想知道是否有我遗漏的东西。

4

1 回答 1

1

好吧,在大多数情况下,如果您一个人工作,那没有什么区别。如果您与团队合作,可能会发生以下情况:

  1. 有人可能会对生产服务器的 www 目录进行更改,然后您提交并推送。更新后挂钩将重置公共 www 目录并删除他/她的所有工作。
  2. 他/她在生产服务器上进行更改并提交。当您进行提交和推送时,他/她的工作将在存储库分支中,然后他/她可以进行合并,所有工作都在那里。

1 方法一开始很容易,但您可能会丢失一些工作。希望对您有所帮助,如果我误解了您的意思,请随时纠正。

于 2012-12-25T05:57:14.307 回答