实际开发流程
分支概念
在使用版本控制工具开发的过程中,同时推进多个任务
分支的好处
1)同时并行推进多个功能开发,提高开发效率
2)各个分支在开发过程中,如果某一个分支开发失败,不会对其他分支有任何影响。失败的分支删除重新开始即可。
分支操作
理论分支操作
1)master、hotfix其实都是指向具体版本记录的指针。当前所在的分支,其实是由HEAD决定的。
2)所以创建分支的本质就是多创建一个指针。
3)HEAD如果指向master,那么我们现在就在master分支上。
4)HEAD如果执行hotfix,那么我们现在就在hotfix分支上。
5)所以切换分支的本质就是移动HEAD指针。
创建分支和切换分支
在两个不同分支分别做不同修改操作
在两个不同分支分别做不同修改图:
合并分支
合并分支图解
合并分支时一定是涉及到两个分支。这两个分支一个是“当前所在分支”,一个是“目标分支”。
命令写法:git merge 目标分支
所以分支合并命令的本质就是把“目标分支”合并到“当前分支”。
例如:把hotfix合并到master
git merge hotfx
需要确保当前所在的分支是master
例如:把master合并到hotfix
git merge master
需要确保当前所在的分支是hotfix
分支冲突
查看文件:Git使用“<<<<<<<、=========、>>>>>>>>>>”符号帮我们标记出来,现在产生冲突的内容。
冲突产生的原因
合并分支时,两个分支在同一个文件的同一个位置有两套完全不同的修改。Git无法替我们决定使用哪一个。必须人为决定新代码内容。(合并文件基本都会产生冲突)
冲突的解决
- 删除git帮我们标记的特殊符号:直接vim hello.txt 然后进行删除"===== HEAD "等符号
2. 添加到暂存区
3. 执行提交(注意:使用git commit命令时不能带文件名)