Git Flow 笔记

0 GitFlow 有Vincenr Driessen 提出的git 软件开发版本管理的流程标准。

博文:https://nvie.com/posts/a-successful-git-branching-model/

1 主要分支介绍

Git Flow

maseter分支

主分支产品功能全部实现后,在mster分支对外发布。

develop 分支

开发分支,基于master分支克隆,产品的编码在此分支进行。

release 分支

  • 测试分支,基于develop分支克隆。
  • 产品功能编码featuren分支提交合并完成后,同步到本分支测试,测试过程的BUG在本分支修复,修复完成打Tasg合并到develop分支。
  • 属于临时分支,功能上线后可删除分支。

bugfix 分支

  • bug 修复分支,基于master分支或者发布的tasg 克隆,用于修复对外发布的分支(线上版本)。
  • 修复BUG完成 打Tag后合并到 develop/master 分支。
  • 属于临时分支,修改完BUG后可以删除分支。

feature 分支

  • 功能开发分支,基于develop分支克隆,用于新功能的开发。
  • 功能开发完成后合并到develop分支。
  • 可以存在多个,属于临时分支,功能完成后可删除。

2 使用CitFlow有如下几点优势:

  • 并行开发: 每个新功能都建立新的feature分支,与一家完成的功能隔离。新功能完成开发后,对应的feature分支合并到develop分支。本地开发多个新功能,可以创建多个feature分支,切换开发。
  • 协作开发: 每个feature分支改动的代码只用于某个功能。
  • 支持紧急修复:hotfix分支,从某个已经发布的tag 创建的紧急修复,这会紧急修复值影响已经发布的tag,不会与新开发feature冲突。

3 开发 示例

1 从远程仓库克隆代码到本地

git clone https://liaowei1992.visualstudio.com/IdentityServer.Samples/_git/IdentityServer.Samples

2 基于master 分支 创建develop

//切换master 分支
git checkout master
// 基于master 创建develop分支
git checkout -b develop

3 feature 开发新功能

1 从develop创建feature 分支
2 在feature分支下编写代码
3 合并feature分支到develop分支
4 推送到远程仓库 develop

git checkout -b feature1
git add .
git commit -n "功能开发完成"
git tag -m  "v1.2版本" v1.2
//执行拉取操作
git pull
// 解决代码冲突 推送代码到远程仓库
git push orign develop

你可能感兴趣的:(Git Flow 笔记)