gpt4 book ai didi

php - 使用 1 个远程开发服务器且没有本地开发环境的 Web 开发团队中的 git

转载 作者:可可西里 更新时间:2023-11-01 13:00:09 26 4
gpt4 key购买 nike

我在一家网络代理机构工作,有一个小团队(5 名开发人员,2 名设计师)。我们主要使用 PHP/MySQL Web 应用程序,包括 Magento、Experession Engine 和 CakePHP。我们结合使用 Windows 7 PC(开发人员)和 Mac OS X(设计人员)。

我一直在考虑将 github 用于我们的项目,主要有 3 个目标:

  1. 查看谁编辑了文件并允许人们对文件发表评论。

  2. 为了避免互相覆盖,因为有时多人会尝试同时处理同一个文件。

  3. 允许回滚到文件的先前版本。

这是我们目前的工作流程,我完全不明白 github 如何适应这个。我意识到我们的工作流程需要改变,但我一直无法找到一个似乎在任何方面都符合这一点的流程:

  1. 我们所有的工作都是在专门用于开发的远程 Web 服务器上完成的(这里没有任何“实时”内容)。服务器正在运行 Apache、PHP、MySQL 等。没有人在他们的机器上设置本地开发环境,如果可能的话我们不希望这样。

  2. 我们都可以通过 FTP 访问上述开发服务器。我们通常直接在这个开发服务器上编辑文件,因为它提供了一种非常快速的测试方法(字面上编辑文件,上传并在浏览器中运行)。存在冲突问题,例如多人试图编辑同一个文件,这就是我考虑使用 git 的原因。

  3. 当一切都在开发服务器上获得批准后,通过将其复制到不同的服务器来使其生效。实时服务器可以在任何地方 - 我们使用一些我们自己管理的服务器,有时我们使用第三方托管公司 - 它各不相同。

过去几天我一直在研究这个问题,我发现的所有方法对我们来说似乎都不可能使用。有没有人对实现这一目标的最佳方法有任何见解?还是我正在研究一些甚至不适用于我要解决的问题的东西?

如果有人能提供任何有用的建议,我将不胜感激。

谢谢。

最佳答案

我工作的公司的设置非常相似。我们实际上在开发服务器上有不同的沙箱。换句话说,我们将 repo 克隆到不同的沙箱中。每个开发人员/设计人员都会得到一个沙箱。比如有3个开发者,就会有3个sandbox目录+1个staging目录

因此,开发人员 john 获取/home/john/example.com 并且可以在 john.example.hot(设置虚拟主机)中查看它mike 在 mike.example.com 上查看了/home/mike/example.comtracy 在 tracy.example.com 上查看了/home/tracy/example.com并且会有一个额外的暂存目录。/home/staging/example.com staging.example.com

暂存将所有更改 merge 在一起,以便对其进行测试。所有这些目录只能通过内部 IPS 访问。

我们使用 RSYNC 将这些更改部署到生产中。有关 RSYNC 的更多信息:http://www.cyberciti.biz/tips/linux-use-rsync-transfer-mirror-files-directories.html

关于php - 使用 1 个远程开发服务器且没有本地开发环境的 Web 开发团队中的 git,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19546486/

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