php - 在基于 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 等
虽然这种作品我觉得是不正确的。
它几乎打破了分支的全部意义,因为所有员工都将从那里自己的存储库分支。
这是正确的,我只是少了几步还是我完全离开了?
解决方案
首先,听起来员工需要一个本地的开发环境。开发人员不需要推送任何更改来测试它们。这大大减慢了开发速度。
一个常见的工作流程可能如下所示:
- 选择要处理的故事。
- 开发您的功能。
- 或者,为它创建一个基于 master 或 development 分支的分支。所谓的特征分支。从技术上讲,如果开发人员在本地提交,这已经是一个分支。
- 或者,只要您想要备份您的工作,就可以将更改推送到功能分支的远程副本。
- 检查您的更改是否在本地开发环境中有效并运行测试。
- 如果测试是绿色的,则将功能分支合并到主/开发分支。
- 将主/开发部署到登台环境并让测试人员对其进行测试。
- 如果测试很好,则将 master 合并到 live 并部署到 live。
您可能已经注意到,这与您的方法没有太大区别。您将在一个登台环境中进行所有更改。然而,这是一件好事。您将在那里发现功能之间的不兼容性,而不是在现场。
推荐阅读
- android - 在蓝牙耳机上接听 VoIP 电话
- python - python数据帧计数出现
- javascript - ExperimentalWarning:http2 模块是一个实验性 API
- sql - 仅返回具有最大键的行
- shell - 来自不同目录的 ls 和 grep
- android - CordovaError:插件无效!..\hello 需要一个有效的 package.json
- vba - VBA for循环使用计数器整数从单元格中检索内容
- android - 由于错误,无法创建 bean Bean[class=com.melayer.codekuladminpanel.login.data.LoginRepository]:
- sql - 给定问题的 Spring Data Jpa 规范实现
- javascript - 如何识别 chrome 分析工具中“其他”期间发生的情况