一、Git分支
几乎所有的版本控制系统都以某种形式支持分支,使用分支意味着可以把工作从开发主线上分离开来进行重大的Bug修改、开发新功能,以免影响开发主线。
1、查看分支
git branch
2、创建分支
git branch 分支名
3、切换分支
git checkout 分支名
4、创建并切换分支
git checkout -b 分支名
5、合并分支
git merge 分支名称
6、删除分支
不能删除当前分支,只能删除其他分支
git btanch -d b1 删除分支时,需要进行各种检查 git branch -D b1 不做任何检查,强制删除
7、解决冲突
当两个分支上对文件的修改可能会存在冲突,列如同时修改了同一个文件的同一行,这是就需要手动解决冲突,解决步骤如下:
1、处理文件中的冲突的地方
2、将解决完成冲突的文件加入暂存区(add)
3、提交到仓库(commit)
冲突内容处理:
二、开发中分支使用原则与流程
● master (生产) 分支
线上分支,主分支,中小规模项目作为线上运行的应用对应的分支;
● develop(开发)分支
是从master创建的分支,一般作为开发部门的主要开发分支,如果没有其他并行开发不同期上线
要求,都可以在此版本进行开发,阶段开发完成后,需要是合并到master分支,准备上线。
● feature/xxxx分支
从develop创建的分支,一般是同期并行开发,但不同期上线时创建的分支,分支上的研发任务完成后合并到develop分支。
● hotfix/xxxx分支,
从master派生的分支,一般作为线上bug修复使用,修复完成后需要合并到master、test、
develop分支。
● 还有一些其他分支,在此不再详述,例如test分支(用于代码测试)、pre分支(预上线分支)等等。
练习:分支操作
###########################创建并切换到dev01分支,在dev01分支提交 # [master]创建分支dev01 git branch dev01 # [master]切换到dev01 git checkout dev01 # [dev01]创建文件file02.txt 略 # [dev01]将修改加入暂存区并提交到仓库,提交记录内容为:add file02 on dev git add . git commit -m 'add file02 on dev' # [dev01]以精简的方式显示提交记录 git-log ###########################切换到master分支,将dev01合并到master分支 # [dev01]切换到master分支 git checkout master # [master]合并dev01到master分支 git merge dev01 # [master]以精简的方式显示提交记录 git-log # [master]查看文件变化(目录下也出现了file02.txt) 略 ##########################删除dev01分支 # [master]删除dev01分支 git branch -d dev01 # [master]以精简的方式显示提交记录 git-log