git开发部署流程

git的分支操做

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

Git 开发部署流程bash

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

无图言屌

流程图

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

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

Git Flow

图示

git flow

分支职责

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

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

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

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

实际开发中release分支用的比较少,对咱们不太适用,因此不在开发流当中.net

流程

下载项目

首先安装 SSH keys : 详细教程3d

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

做为开发人员,在本地:server

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
相关文章
相关标签/搜索