繁体   English   中英

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

[英]git in a web development team using 1 remote dev server and no local dev environment

我在一个拥有一个小团队的网络代理商(5名开发人员,2名设计师)工作。 我们主要使用PHP / MySQL Web应用程序,包括Magento,Experession Engine和CakePHP。 我们在OSX(设计师)上使用Windows 7 PC'S(开发人员)和Mac的组合。

我一直在寻找使用github来实现我们的项目,其中包括3个主要目标:

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

  2. 为了避免覆盖彼此的工作,有时多个人可以尝试同时处理同一个文件。

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

这是我们当前的工作流程,我不明白github如何适应这一点。 我意识到我们的工作流程需要改变,但我无法找到一个似乎与之相符的过程:

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

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

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

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

我很感激人们可以提供任何有用的建议。

谢谢。

我们在我工作的公司里有一个非常类似的设置。 我们在开发服务器上实际上有不同的沙箱。 换句话说,我们将repo克隆到不同的沙箱中。 每个开发人员/设计人员都有一个沙箱。 例如,如果有3个开发人员,则将有3个沙箱目录+ 1个登台目录

所以,开发人员john获取/home/john/example.com并可以在john.example.hot(设置vhosts)查看mike获取/home/mike/example.com在mike.example.com上查看tracy gets / home在tracy.example.com上查看/tracy/example.com并且会有一个额外的临时目录。 /home/staging/example.com staging.example.com

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

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

您可以在测试计算机上创建一个git存储库,让您的每个团队都使用git将他们的更改推送到该存储库。 通过这种方式,当他们的更改与其他人的更改发生冲突时,他们会收到通知。

典型的工作流程可能如下所示:

  1. Developer1在他的机器上改变了一些东西。
  2. Designer1更改了他机器上的一些文件
  3. Designer1将这些更改提交到他的本地git存储库
  4. Developer1将这些更改提交到他的本地git存储库
  5. Developer1将他的更改推送到开发机器。
  6. Designer1将他的更改推送到开发机器
    1. 如果与Developer1的更改发生冲突,现在将提示他们这些冲突是什么,并且必须解决它们。
    2. 然后解决的更改将被推送到开发机器。

这应该解决你的问题1.)和3.)并且将使2.)一个明确的行动,这意味着你的开发人员和设计师将会看到他们所覆盖的内容。 如果同时在文件的不同部分发生更改,则git可以在不需要进一步交互的情况下保留这两个更改。

但要注意,这仍然存在问题,没有人会在不受其他人干扰的情况下测试自己的变化,因为当有人试图测试某些东西时,这些变化可能随时改变。 只有1台开发机器,你无法单独使用git来防止这种情况发生。 由于您的团队规模很小,而您目前的方法无法解决这个问题,因此对您来说可能没那么重要。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM