分支的概念
- 在版本控制过程中,可以同时推进多个任务,每个任务都可以创建单独的分支。
- 以游戏举例,一款游戏的运行作为主线分支,如果游戏中出现bug,分出一个分支来修复游戏中的bug,同时游戏的主线分支不会受到影响,当热修分支中的bug被修复后合并到主线分支中,产生新的游戏版本。如果想为游戏添加新的功能,也可以分出一个分支来进行设计,当功能成熟时即可合并到主线分支中。
- 分支底层逻辑:指针的引用
分支的好处
- 同时并行推进多个功能开发,提高开发效率
- 各个分支在开发过程中,其中一个分支开发失败,不会影响到其他分支。
分支的操作
查看分支
- 语法
git branch -v
- 示例
创建分支
- 语法
git branch 分支名
- 示例
切换分支
- 本质是只针对的移动,
HEAD
指向哪个分支,就在哪个分支上。 - 语法
git checkout 分支名
- 示例
修改分支
- 修改
fixbug
分支下的文件 - 查看
fixbug
中的文件内容 - 查看
master
中的文件内容
删除分支
- 语法
git branch -d 分支名
- 示例
合并分支
- 语法
git merge 分支名 // 把指定分支合并到当前分支上
- 示例
解决冲突
- 合并分支时,如果同一文件在两个不同分支上都做了不同的修改,需要人为决定新文件的内容。
- 编辑文件,留下自己需要的部分
- 添加暂存区、提交本地库
提交本地库的时候不需要添加文件名,否则会报错 - 解决冲突后的文件
分支类型
master
分支(主分支):稳定版本develop
分支(开发分支):最新版本release
分支(发布分支):发布新版本hotfix
分支(热修复分支):修复线上Bugfeature
分支(特性分支):实现新特性