git开发部署流程

时间:2022-11-02 17:29:21

git的分支操作

https://blog.csdn.net/QH_JAVA/article/details/77853605

Git 开发部署流程

采用业界成熟方案 Git Flow 分支方式进行开发;一个经典的 Git 开发/部署流程包括几个环境:本地开发环境、线上测试环境、线上生产环境,分别对应git的本地工作环境、develop 分支、master 分支

无图言屌

git开发部署流程

  • 本地开发环境 : 本地仓库分支工作环境
  • 线上测试环境 : 远程 develop 分支
  • 线上生产环境 : 远程 master 分支

先在本地进行开发,做一次完整的提交 push 到 develop 分支,进行线上测试,一切正常 push 到 master 分支,一个完整的部署过程over.

Git Flow

图示

git开发部署流程

分支职责

  • master : 最为稳定功能最为完整的随时可发布的代码;
  • develop : 永远是功能最新最全的分支;
  • hotfix : 修复线上代码的 bug;
  • feature : 某个功能点正在开发阶段;

确切的说 master、develop 分支大部分情况下都会保持一致,只有在上线前的测试阶段 develop 比 master 的代码要多,一旦测试没问题,准备发布了,这时候会将 develop 合并到 master 上.

但是我们发布之后又会进行下一版本的功能开发,开发中间可能又会遇到需要紧急修复 bug ,一个功能开发完成之后突然需求变动了等情况,所以 Git Flow 除了以上 master 和 develop 两个主要分支以外,还提出了以下三个辅助分支:

  • feature : 开发新功能的分支, 基于 develop, 完成后 merge 回 develop
  • hotfix : 修复 master 上的问题, 等不及 release 版本就必须马上上线. 基于 master, 完成后 merge 回 master 和 develop

实际开发中release分支用的比较少,对我们不太适用,所以不在开发流当中

流程

下载项目

首先安装 SSH keys : 详细教程

项目管理员会首选在远程仓库创建仓库,并建立develop分支.

作为开发人员,在本地:

git clone git@code.aliyun.com:your_org/your_project.git
git branch -a -v
touch README.md
git add README.md
git commit -m "add README"
git push -u origin master
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6

建立 develop 分支

git checkout -b develop master
## add & commit .....
git push –set-upstream origin master
git branch -a -v
  • 1
  • 2
  • 3
  • 4

分支开发

以开发功能分支 feature/search-recommend 为例,工程师需要做以下步骤:

  1. 建立 develop 的分支 feature/search-recommend
  2. 在该分支上进行开发,完成后进行本地提交
  3. 切换到 develop 分支,pull拉取远程仓库最新版本
  4. 此时本地 develop 分支是最新版本,然后 merge 分支 feature/search-recommend
  5. 如果此时有冲突,清除后commit
  6. 把本地合并后的分支 develop push 到远程 develop
  7. 在 develop 分支环境下进行测试
  8. 一切ok,删除该功能分支
  9. 切到 master 分支,pull 然后 merge develop,收工

遵循原则&事项

  1. 每次 merge 前先 pull 远程分支在进行合并
  2. 每完成一个功能就提交一次,不要累计代码

代码

git checkout -b feature/search-recommend develop ##创建并切换到分支
git add somefile
git commit -m 'msg'
git checkout develop
git pull
git merge feature/search-recommend
git push
git checkout master
git merge devlop
git push
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10

紧急修复bug

工程师们开开心心的在自己分支上进行开发,此时线上突然出现一bug,需要立即修复,那么:

  1. 在 master 分支上拉一个 hotfix 分支 hotfix/0.0.1
  2. 修复后 merge 回 master 分支
  3. 再 merge 回 develop 分支
  4. 删除该分支
  5. 应始终保证 master 和 develop 上都修复了该bug

命名规范

分支命名

除了主要分支的名字是固定的之外,派生分支是需要自己命名的,采用如下形式:

  • feature : 按照功能点(而不是需求)命名 feature/ ;如 *feature/weixin_recharge
  • hotfix : 通过平台生成的问题编号来命名;如 hotfix/#1