在版本控制过程中,同时推进多个任务,为每个任务,我们就可以创建每个任务的单独
分支。使用分支意味着程序员可以把自己的工作从开发主线上分离开来,开发自己分支的时
候,不会影响主线分支的运行。对于初学者而言,分支可以简单理解为副本,一个分支就是
一个单独的副本。(分支底层其实也是指针的引用)

同时并行推进多个功能开发,提高开发效率。
各个分支在开发过程中,如果某一个分支开发失败,不会对其他分支有任何影响。失败
的分支删除重新开始即可。
git branch 分支名 # 创建分支
git branch -v # 查看分支
git checkout 分支名 # 切换分支
git merge 分支名 # 把指定的分支合并到当前分支上
查看版本信息
git reflog
查看目前有两个版本

查看所有文件(包含隐藏文件)
ll -a
查看当前本地库的所有文件

查看hello.txt的内容
cat hello.txt
内容如下
hello.txt csdn! hello.txt csdn! new change!!! 123
hello.txt csdn! hello.txt csdn!
hello.txt csdn! hello.txt csdn!
hello.txt csdn! hello.txt csdn!

git branch -v
当前只有一个分支master

git branch hot-fix
创建之后再次查看分支
git branch -v
显示有两个分支hot-fix, master 右上角master表示当前分支

讲hello.txt修改为

修改之后添加暂存区—>提交本地库
git add hello.txt
git commit -m "master first" hello.txt
git checkout hot-fix
cat hello.txt
显示和2.2中文件一样说明正常, 因为是从哪里创建的分支(复制)

最后加一行 hot-fix test
修改之后内容如下

修改之后添加暂存区—>提交本地库
git add hello.txt
git commit -m "hot-fix first" hello.txt
)
git checkout master
git merge hot-fix
此时产生冲突(因为两个分支在知道的操作上都修改了)

冲突产生的原因:
合并分支时,两个分支在同一个文件的同一个位置有两套完全不同的修改。Git 无法替
我们决定使用哪一个。必须人为决定新代码内容。
编辑有冲突的文件(hello.txt),删除特殊符号,决定要使用的内容
特殊符号:<<<<<<< HEAD 当前分支的代码 ======= 合并过来的代码 >>>>>>> hot-fix
保留你要的信息 dd表示删除当前行

删除之后得到我们最终想要的行

修改之后添加暂存区—>提交本地库
git add hello.txt
注意这里不需要加文件名!!! 加了可能会报错误
git commit -m "merge first"