git分支操作
4.1 什么是分支
在版本控制过程中,同时推进多个任务,为每个任务,我们就可以创建每个任务的单独分支。使用分支意味着程序员可以把自己的工作从开发主线上分离开来,开发自己分支的时候,不会影响主线分支的运行。(分支底层其实也是指针的引用)
4.2 分支的好处
同时并行推进多个功能开发,提高开发效率。
各个分支在开发过程中,如果某一个分支开发失败,不会对其他分支有任何影响。失败的分支删除重新开始即可。
4.3 分支的操作
| 命令名称 | 作用 |
|---|---|
| git branch 分支名 | 创建分支 |
| git branch -v | 查看分支 |
| git checkout 分支名 | 切换分支 |
| git merge 分支名 | 把指定的分支合并到当前分支上 |
4.3.1 创建本地分支
git checkout -b dev
4.3.2 查看分支
-
基本语法
git branch -v
-
案例实操
4.3.3 创建分支
-
基本语法
git branch 分支名
-
案例实操
4.3.4 修改分支
在mster分支上修改 hello.txt 文件
hot-fix分支并未修改
4.3.5 切换分支
git checkout 分支名
git checkout hot-fix
修改hello.txt同样位置并提交
4.3.6 合并分支
-
基本语法
git merge 分支
-
案例实操 在 master 分支上合并 hot-fix 分支
先切换到master上,把hot-fix分支合并到master分支上。
4.3.7 产生冲突
冲突产生的表现:后面状态为MERGING
冲突产生的原因:
合并分支时,两个分支在同一个文件的同一个位置有两套完全不同的修改。Git无法替我们决定使用哪一个。必须人为决定新代码内容。
查看状态(检测到有文件两处修改)
4.3.8 解决冲突
-
编辑有冲突的文件,删除特殊符号,决定要使用的内容
特殊符号: <<<<<<<HEAD 当前分支的代码 ====== 合并过来的代码 >>>>>>> hot-fix
-
添加到暂存区
-
执行提交(注意:此时使用 git commit 命令时不能带文件名)
4.3.9 创建分支和切换分支图解
master、hot-fix 其实都是指向具体版本记录的指针。当前所在的分支,其实是由HEAD决定的。所以创建分支的本质就是多创建一个指针。 HEAD如果指向master,那么我们现在就在master分支上。 HEAD如果执行hot-fix,那么我们现在就在hot-fix分支上。
4.3. 10 重命名远程分支
-
把远程代码更新到本地
git pull -
删掉远程分支
git push origin --delete release-20210630-V3.6.2 -
重命名本地分支
git branch -m realease-20210630-V3.6.2 release-2021630-V3.8.1 -
把本地分支推到远程
git push origin release-20210630-V3.8.1
查看本地分支对应的远程分支
git branch -vv