分支分类
主要分支:master和develop分支
支持性分支:特性分支,发布分支,热补丁分支
各分支简介
master 与产品环境代码保持一致的分支
develop 开发的主分支
feature 具体开发的功能分支,创建自develop分支,完成后合并到develop并删除分支。
release 用于发布新版本的分支、修复测试BUG,创建自develop分支,合并到develop和master该发行版达到它的预定目标后删除分支。
fixbug 修复线上bug,创建自master分支,开发完成后合并到master和develop,然后删除分支
hotfix 用于紧急修复已发布的产品问题的分支,创建自master分支,合并到master和develop,然后删除分支。
流程图
Git 分支命令
git branch
git checkout
git merge
新建分支:
git checkout -b develop 新建一个分支,并且切换到新的分支develop
git branch develop 新建一个分支,但是仍停留在原来分支
查看分支:
git branch 查看本地所有的分支
git branch -r 查看所有远程的分支
git branch -a 查看所有远程分支和本地分支
删除分支:
git branch -D <branchname> 删除本地branchname分支
切换分支:
git checkout
git checkout master 切换到master分支
合并分支:
我们在开发分支develop开发、测试完成在发布之前,我们一般需要把开发分支代码合并到master
git merge master 在当前分支上合并master分支过来
git merge --no-ff origin/develop 在当前分支上合并远程分支develop
git merge --abort 终止本次merge,并回到merge前的状态
git rebase(以master、develop分支举例)
使用流程
- 阶段性开发完成后,准备提交代码
- 首先切换到master分支,git pull拉取最新的分支状态
- 然后切回develop分支
- 通过git rebase -i 将本地的多次提交合并为一个,以简化提交历史。本地有多个提交时,如果不进行这一步,在git rebase master时会多次解决冲突
- git rebase master 将master最新的分支同步到本地,这个过程需要手动解决冲突(执行过上一步的话,只需要解决一次冲突)
- 然后切换到master分支,git merge将本地的develop分支内容合并到master分支
- git push将master分支的提交上传