在基于Web的开发环境中使用GIT源代码控制

时间:2018-06-02 22:17:38

标签: php git version-control atlassian-sourcetree

我目前正在使用GIT和源Tree来管理我的php web系统的源代码控制。

我以前使用GIT的经验是没有基于网络的环境,因为我理解使用分支和遥控器等。

但是在设置Web开发时我有点困惑。

情景。

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

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

我在开发网站上为故事创建分支。 工作人员从开发站点结帐故事分支,完成并提交。 然后由测试人员检查每个故事并进行测试,一旦完成,故事就会合并到开发大师,并最终将dev与实时合并。

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

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

rob.mysite.com

dave.mysite.com

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

在rob.mysite.com上进行更改 推抢去开发 推动开发等等

虽然这种作品我认为不正确。

它几乎打破了分支机构的全部要点,因为所有员工都会从自己的存储库中分支。

这是正确的吗?我只是短暂的一步还是我完全离开了?

1 个答案:

答案 0 :(得分:2)

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

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

  1. 选择要处理的故事。
  2. 开发您的功能。
    1. (可选)为其创建分支,该分支基于主分支或开发分支。所谓的特征分支。从技术上讲,如果开发人员在本地提交,那么这已经是一个分支。
    2. (可选)在您希望备份工作时,将更改推送到功能分支的远程副本。
  3. 检查您的更改是否在本地开发环境中有效并运行测试。
  4. 如果测试是绿色,则将功能分支合并到主/开发分支。
  5. 将主/开发部署到暂存环境并让测试人员对其进行测试。
  6. 如果测试很好,请将master合并到live并部署到live。
  7. 您可能已经注意到这与您的方法没有太大区别。您将在一个临时环境中进行所有更改。但是,这是一件好事。您将识别那里的功能之间的不兼容性,而不是实时功能。

    我建议您详细了解Continuous IntegrationContinuous Delivery