目录
一、Git 分支操作
1、什么是分支
在版本控制过程中,同时推进多个任务,为每个任务,我们就可以创建每个任务的单独分支。使用分支意味着程序员可以把自己的工作从开发主线上分离开来,开发自己分支的时候,不会影响主线分支的运行。对于初学者而言,分支可以简单理解为副本,一个分支就是一个单独的副本。(分支底层其实也是指针的引用)
2、分支的好处
同时并行推进多个功能开发,提高开发效率。各个分支在开发过程中,如果某一个分支开发失败,不会对其他分支有任何影响。失败的分支删除重新开始即可。
3、分支的操作
命令名称 | 作用 |
---|---|
git branch 分支名 | 创建分支 |
git branch -v | 查看分支 |
git checkout 分支名 | 切换分支 |
git merge 分支名 | 把指定分支名合并到当前分支上 |
查看分支
基本语法 :
git branch -v
实例 :
创建分支
基本语法 :
git branch 分支名
实例 :
刚创建的新的分支,并将主分支 master 的内容复制了一份
修改分支
在 master 分支上做修改
添加到本地库
查看分支
查看 master 分支上文件内容
切换分支
基本语法 :
git checkout hot-fix
实例 :
我们发现当前分支已经由 master 改为 hot-fix ,查看 hot-fix 分支上的文件内容发现与master 分支上的内容不同
接下来我们在 hot-fix 分支上做修改,同时提交到本地库
合并分支
基本语法 :
git merge 分支名
实例 :
在 在 master 分支上合并 hot-fix 分支
我们发现合并失败
产生冲突
冲突产生的表现:后面状态为 MERGING
冲突产生的原因:
合并分支时,两个分支在 同一个文件的同一个位置 有两套完全不同的修改。Git 无法替我们决定使用哪一个。必须 人为决定新代码内容。
查看状态
解决冲突
编辑有冲突的文件,删除特殊符号,决定要使用的内容。
<<<<<< HEAD
当前分支代码
=======
合并过来的代码
>>>>>> hot-fix
我们来决定要用的内容
添加到暂存区,并执行提交,注意此时使用git commit 命令时不能带文件名,后面MERGING 消失,变为正常。
4、创建分支与切换分支图解
master、hot-fix 其实都是指向具体版本记录的指针。当前所在的分支,其实是由 HEAD决定的。所以创建分支的本质就是多创建一个指针。
HEAD 如果指向 master,那么我们现在就在 master 分支上。
HEAD 如果执行 hotfix,那么我们现在就在 hotfix 分支上。
所以切换分支的本质就是移动 HEAD 指针。
二、Git 团队协作机制(图解)
1、团队内协作
Git 要学的主要就是 pull、clone、push的命令反复使用