一:学习内容
- git分支特性
- git分支操作-查看分支
- git分支操作-创建分支
- git分支操作-切换和修改分支
- git分支操作-分支合并
- git分支操作-代码合并冲突解决
二:git分支特性
1.什么是分支?
在版本控制过程中,同时推进多个任务,为每个任务,我们就可以创建每个任务的单独分支。
使用分支,程序员就可以把自己的工作从开发主线上分离开来,开发自己分支的时候,不会影响主线分支的运行。
可以简单理解为分支即为副本,一个分支就是一个单独的副本(分支的底层其实也是指针的引用)。
master、hot-fix等分支其实都是指向具体版本记录的指针。当前所在的分支,其实是由HEAD决定的,所以创建分支的本质就是多创建一个指针。【head如何指向master,那么我们现在就在master分支上,head如果指向hot-fix,那么我们现在就在hot-fix分支上。】所以切换分支的本质就是移动HEAD指针。
2.分支的好处
可以同时推进多个功能开发,提高开发效率。
各个分支在开发过程中,如果某一个分支开发失败,不会对其他分支有任何影响。失败的分支删除重新开始即可。
三:git分支操作
1.命令汇总
1 git branch 分支名:创建分支 2 git branch -v:查看分支 3 git checkout 分支名:切换分支 4 git merge 分支名:把指定的分支合并到当前分支上
2.查看分支
1 #查看分支 2 git branch -v
命令执行结果如下:
3.创建分支
1 #创建一个分支,名为hot-fix,它会自动拷贝master分支指针当前指向的版本的内容 2 git branch hot-fix 3 4 #再次查看分支,此时发现有2个分支了 5 git branch -v
命令执行结果如下:
4.切换和修改分支
1 #当前在master分支上,修改hot-fix分支内容,则需要切换分支 2 git checkout hot-fix 3 4 #再次查看分支,此时发现*号指向了hot-fix,说明分支已经切换到hot-fix分支上了 5 git branch -v 6 7 #修改hot-fix分支上的内容 8 vim hello.txt 9 git status 10 git add hello.txt 11 git commit -m "hot-fix first commit" hello.txt 12 13 #在hot-fix分支上查看版本精简信息 14 git reflog
命令执行结果如下:
从master分支切换到hot-fix分支:
修改hot-fix分支上的内容并提交本地库:
查看hot-fix分支上版本精简信息:下方截图从最后一行往上读便是版本经历过程
①8b94833 HEAD@{7}: commit (initial): first commit:在master分支上,第一次提交,版本号为8b94833
②dbb4e24 HEAD@{6}: commit: second commit:在master分支上,第二次提交,版本号为dbb4e24
③f5ad1d9 (master) HEAD@{5}: commit: third commit:在master分支上,第三次提交,版本号为f5ad1d9
④dbb4e24 HEAD@{4}: reset: moving to dbb4e24:在master分支上,从第三次版本穿梭到第二次版本
⑤8b94833 HEAD@{3}: reset: moving to 8b94833:在master分支上,从第二次版本穿梭到第一次版本
⑥f5ad1d9 (master) HEAD@{2}: reset: moving to f5ad1d9:在master分支上,从第一次版本穿梭到第三次版本
⑦f5ad1d9 (master) HEAD@{1}: checkout: moving from master to hot-fix:从master分支切换到hot-fix分支
⑧d33c235 (HEAD -> hot-fix) HEAD@{0}: commit: hot-fix first commit:在hot-fix分支上,第一次提交,版本号为d33c235
5.合并分支-正常合并
1 #将hot-fix分支上的当前指针指向的版本,合并到master分支上 2 #首先需要切换到master分支上 3 git checkout master 4 5 #然后合并分支 6 git merge hot-fix
命令执行结果如下
从hot-fix分支切换到master分支上:
合并分支:
标签:git,fix,笔记,hot,master,commit,分支 From: https://www.cnblogs.com/miaomiaokaixin/p/17206891.html