首页 > 解决方案 > 在基于 Web 的开发环境中使用 GIT 源代码控制

问题描述

我目前正在使用带有源树的 GIT 来管理我的 php Web 系统的源代码控制。

我以前使用 GIT 的经验是使用非基于 Web 的环境,因此我了解分支和遥控器等的使用。

但是在为 Web 开发进行设置时,我有点困惑。

设想。

我有一个实时子域
live.mysite.com

我有一个开发子域
dev.mysite.com

我为故事创建了开发站点的分支。工作人员从开发站点检查故事分支,完成并提交。然后每个故事都由测试人员检查并进行测试,一旦完成,故事就会合并到开发大师,最终开发与现场合并。

这是一个非常广泛的概述,我的困惑来自域。假设我有 10 名工作人员。他们将需要查看那里的变化,因为他们对任何开发都做同样的事情。使用上述方法是行不通的,因为所有工作人员都将部署到开发站点。

为了解决这个问题,我一直在为每个工作人员创建一个子域。

rob.mysite.com

戴夫.mysite.com

现在,每个员工都可以独立地在自己的域上工作,并在需要时推送到不同的遥控器。IE

在 rob.mysite.com 上进行更改 push rob to dev push dev to live 等

虽然这种作品我觉得是不正确的。

它几乎打破了分支的全部意义,因为所有员工都将从那里自己的存储库分支。

这是正确的,我只是少了几步还是我完全离开了?

标签: phpgitversion-controlatlassian-sourcetree

解决方案


首先,听起来员工需要一个本地的开发环境。开发人员不需要推送任何更改来测试它们。这大大减慢了开发速度。

一个常见的工作流程可能如下所示:

  1. 选择要处理的故事。
  2. 开发您的功能。
    1. 或者,为它创建一个基于 master 或 development 分支的分支。所谓的特征分支。从技术上讲,如果开发人员在本地提交,这已经是一个分支。
    2. 或者,只要您想要备份您的工作,就可以将更改推送到功能分支的远程副本。
  3. 检查您的更改是否在本地开发环境中有效并运行测试。
  4. 如果测试是绿色的,则将功能分支合并到主/开发分支。
  5. 将主/开发部署到登台环境并让测试人员对其进行测试。
  6. 如果测试很好,则将 master 合并到 live 并部署到 live。

您可能已经注意到,这与您的方法没有太大区别。您将在一个登台环境中进行所有更改。然而,这是一件好事。您将在那里发现功能之​​间的不兼容性,而不是在现场。

我想推荐学习更多关于持续集成持续交付的知识。


推荐阅读