第 4 章 Git 分支操作
4.1 什么是分支
在版本控制过程中,同时推进多个任务,为每个任务,我们就可以创建每个任务的单独分支。
使用分支意味着程序员可以把自己的工作从开发主线上分离开来,开发自己分支的时候,不会影响主线分支的运行。
对于初学者而言,分支可以简单理解为副本,一个分支就是一个单独的副本。(分支底层其实也是指针的引用)
4.2 分支的好处
同时并行推进多个功能开发,提高开发效率。
各个分支在开发过程中,如果某一个分支开发失败,不会对其他分支有任何影响。失败
的分支删除重新开始即可。
4.3 分支的操作
命令名称 | 作用 |
---|---|
git branch 分支名 | 创建分支 |
git branch -v | 查看分支 |
git checkout 分支名 | 切换分支 |
git merge 分支名 | 把指定的分支合并到当前分支上 |
实操
先输入 git branch -v 查看分支
输入 git branch hot-fix 创建分支
输入 git branch -v 查看创建后的分支
输入 git checkout hot-fix 切换分支
输入 git branch -v 查看分支
输入 vim hello.txt 修改文件
输入 git status 查看本地库状态
输入 git add hello.txt 添加到暂存区
输入 git status 查看添加后本地库状态
输入 git commit -m "hot-fix first commit" hello.txt 提交到本地库
输入 cat hello.txt 查看文本信息
输入 git reflog 查看分支版本信息
git branch --delete dev 删除分支
合并分支
基本语法
git merge 分支名
操作 在 master 分支上合并 hot-fix 分支
输入 git checkout master 切换到master分支
输入 cat hello.txt 查看master分支内容
输入 git merge hot-fix 合并分支
输入 cat hello.txt 查看master合并后内容
产生冲突
master和hot-fix两个分支分别修改文本hello.txt后并添加到暂存区和提交到本地库,进行合并会产生冲突
解决冲突
- 修改master的hello.txt
删除特殊符号,决定要使用的内容
特殊符号格式:<<<<<<< HEAD 当前分支的代码 ======= 合并过来的代码 >>>>>>> hot-fix
-
添加到暂存区
git add hello.txt -
执行提交(注意:此时使用 git commit 命令时不能带文件名)
git commit -m "merge hot-fix"
注意此操作后 hot-fix分支文件不变
切换分支的本质就是移动 HEAD 指针