分支
几乎所有的版本控制系统都是以某种形式支持分支,使用分支意味着可以把工作从开发主线上分离开来进行重大的Bug修改,开发新的功能,以免影响开发主线
开发中分支使用原则与流程
在开发中一般有如下分支使用原则与流程:
- master(生产)分支
- 线上分支,主分支,中小规模项目作为上线运行的应用对应的分支
- develop(开发)分支
- 是从master创建的分支,一般作为开发部门的主要开发分支,如果没有其他并行开发不同期上线要求,都可以在此版本进行开发,阶段开发完成后,需要合并到master分支,准备上线
- feature/xxxx分支
- 从develop创建的分支,一般是同期并行开发,但不同期上线时创建的分支,分支上的研发任务完成后合并到develop分支
- hotfix/xxxx分支
- 从master派生的分支,一般作为线上bug修复使用,修复完成后需要合并到master,test,develop分支
- test(测试)分支,pre(预上线)分支等等其他分支
查看本地分支
git branch
创建本地分支
git branch 分支名
切换分支(checkout)
git checkout 分支名
创建并切换分支
git checkout -b 分支名
合并分支(merge)
git merge 分支名
删除分支
git branch -d b1 删除分支时 需要做各种检查
git branch -D b1 不做任何检查 强制删除
解决冲突
在进行分支合并的时候,可能会出现两个分支都修改了同一个文件,但是修改的内容不一致,导致合并分支时发生冲突,此时需要先将发生冲突的文件进行修改,然后进行如下步骤:
git add .
git commit
输入上述两条指令后,会出现需要确认文件冲突的vim编辑器,此时:
- ESC退出编辑模式
- SHIFT + : 并输入wq回车退出编辑器