gpt4 book ai didi

git - 使用 git 管理生产网站?

转载 作者:太空狗 更新时间:2023-10-29 14:15:05 24 4
gpt4 key购买 nike

我在生产服务器上有一个包含大约 15,000 个文件的网站。远程开发人员现在在网站上完成大部分工作,但我偶尔也需要进行一些编辑。显然我们需要一些版本控制,所以我正在尝试设置 git。

我真的很想保持设置简单明了。我们不需要任何类型的集成商来检查我们的更改——我们都完全信任将更改推送到生产站点。我也没有看到任何需要在让它们生效之前将更改推送到登台服务器,因为没有什么我们可以在那里测试我们不能在我们的本地机器上测试的。我基本上只是想要一些可以防止我们破坏彼此文件的东西。这是我想到的场景:

          Production Server
↗↙ ↖↘
Developer1(LAMP) Developer2(WAMP)

问题:

  1. 这个工作流程对于由两个开发人员组成的团队(其中一个开发人员只是偶尔进行编辑)是否有意义,或者是否有更好的工作流程?

  2. 在开发人员和生产服务器之间添加临时服务器是否有任何优势?

  3. 我假设生产服务器应该是一个裸仓库,带有一个指向 webroot 文件夹的接收后 Hook ,我们会克隆一个副本到每个开发人员的机器上,然后 git commit/git push 来启动任何更改恢复生产?

  4. 有什么简单的方法可以在生产服务器上创建一个裸存储库,然后将站点现有的 15,000 个文件添加到其中?或者我是否必须将它们下载到本地工作站上的克隆存储库,然后执行 git add/commit/push 以将它们加载到生产服务器存储库中? (他们可能需要将近 13 个小时才能上传。)

谢谢!

最佳答案

工作流程本身没有问题。但一般来说,“规范”存储库是独立的,您可以使用 rsync 等其他机制手动部署到生产服务器。这样:

  1. 您的生产服务器更新与您的开发工作流程无关。如果您的生产服务器(曾经!)需要在代码更改后完成任何工作——重新启动网络服务器、刷新一些缓存、进行模式更改等——那么生产系统问题突然会干扰您更新代码的能力,这很糟糕。

  2. 您不必担心意外泄露对您的 .git 目录的访问权限并暴露您的所有源代码和开发历史。

  3. 破坏站点需要两次事故(ruin master 部署)而不是一次(ruin master)。

  4. 也许只有你们两个不关心,但让“更新站点”按钮与“更新代码”按钮具有不同的授权是很有用的。

暂存服务器的存在类似于生产环境,但易损坏。您只有两个开发人员,但您已经在使用截然不同的操作系统;我相当确定至少你们中的一个 没有使用与生产相同的开发环境。 :)

不,您不能将文件添加到裸存储库。您需要一个工作副本才能对工作树执行任何操作。

关于git - 使用 git 管理生产网站?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14495322/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com