分支操作
公司开发流程:
1 什么是分支
在版本控制的过程中,同时推进多个任务,为每个任务,我们就可以创建每个任务的单独分支。使用分支意味着程序员可以把自己的工作从开发主线上分离开来,开发自己分支的时候,不会影响主分支的运行。对于初学者而言,分支可以简单理解为副本,一个分支就是一个单独的副本。(分支底层其实也是指针的引用)
2 分支的好处
同时并行推进多个功能开发,提高开发效率
各个分支在开发过程中。如果某一个分支开发失败,不会对其他分支有任何影响。失败的分支删除重新开始即可。
3 分支的操作
基本命令:
命令名称 | 作用 |
---|---|
git branch 分支名 | 创建分支 |
git branch -v | 查看分支 |
git checkout 分支名 | 切换分支 |
git merge 要合并的分支名 | 把指定的分支合并到当前的分支上 |
3.1 查看分支
基本语法:
git branch -v
此时我们可以看到,git中只有一个master分支,接下来我们创建一个分支hotfix:
3.2 创建分支
基本语法:
git branch "分支名"
创建后,再通过git branch -v查看分支,此时分支变成两个。
3.3 切换分支
基本语法:
git checkout "分支名"
执行指令,将HEAD指针指向hotfix分支
我们修改hotfix分支中的hello.txt文件,添加到暂存区,并上传。
此时指针指向hotfix分支,查看hello.txt文件,发现文件已被修改。
回到master分支,查看文件,发现hotfix分支中修改文件hello.txt内容未影响到master分支。
3.4 分支合并
基本语法:
git merge "分支名"
注意 :hotfix要想合并到master 上 指针必须指向master
正常合并:
未产生代码冲突。
冲突合并:
冲突产生的原因:
合并分支时,两个分支在同一个分支的同一个位置有两套完全不同的修改,Git无法替我们决定使用哪一个必须人为决定新代码内容
我们修改master文件中的hello.txt内容,并将其上传提交。
将hotfix分支中的代码与master中的代码合并,发现冲突,并出现MERGING字样。此时需要手动合并。
我们可以通过git status命令查看状态,both modified 表示两个分支的代码都做出了修改,git无法决定使用哪一个。需要手动修改。
我们vim 编辑hello.txt 其中:
<<<<<< HEAD
当前分支文件的内容。
======
要合并分支的内容
>>>>>> 分支名
我们通过手动修改,将不需要的代码段删掉,保留需要的代码段。
然后,保存上传提交。
注意:此时提交后不要带有文件名,git不知道你要提交的文件是哪一个hello.txt文件。
直接 git commit -m , git会自动将你已经修改好的程序提交。
查看文件,发现已修改。
修改后的文件只应用在被合并的分支上,hotfix中的文件未被修改。
文件合并完成!
不难看出,Git内部就是两个指针。
1、HEAD指针指向分支
2、分支指针指向该分支的版本。
可以通过指针的操作进行版本控制。
END