一、分支的概念
- 分支就是科幻电影里面的
平行宇宙
,当你正在电脑前努力学习Git的时候,另一个你正在另一个平行宇宙里努力学习SVN。- 如果两个平行宇宙互不干扰,那对现在的你也没啥影响。
- 不过,在
某个时间点,两个平行宇宙合并了
,结果,你既学会了Git又学会了SVN!- 在进行多人协作开发的时候,为了
防止互相干扰
,提高协同开发的体验
,建议每个开发者都基于分支进行项目功能的开发
二、master 主分支
- Git 默认已经帮我们创建了一个名字叫做
master
的分支。通常我们把这个master 分支叫做主分支
。- 在实际工作中,master 主分支的作用是:
用来保存和记录整个项目已完成的功能代码
。- 因此,不允许程序员直接
在master分支上修改代码
,因为这样做的风险太高
,容易导致整个项目崩溃
三、功能分支
- 由于程序员不能直接在 master 分支上进行功能的开发,所以就有了
功能分支
的概念。功能分支指
的是专门用来开发新功能的分支
,它是临时从master 主分支上分叉出来的- 当新功能开发且测试完毕后,最终需要合并到
master
主分支上
四、分支的命令
1、查看分支列表
- 命令:git branch
注意:分支名字前面的*
号表示当前所处的分支
2、创建新分支
- 命令:
git branch 分支名称
基于当前分支,创建一个新的分支
- 新分支中的代码和当前分支
完全一样
注意:执行完创建分支的命令之后,用户所处的还是master分支
3、切换分支
- 命令:
git checkout 分支的名称
- 作用:可以
切换
到指定的分支上进行开发
4、分支的快速创建和切换
- 命令:
git checkout -b 分支名称
(-b 表示创建一个分支
)- 作用:可以创建指定名称的新分支,并立即切换到新分支上
- 注意: 是
git branch 分支名称
和git checkout 分支名称
的和并
5、 合并分支
- 切换到master分支:
git checkout master
- 将分支合并到master分支:
git merge logit
- 将完成后的代码合并到 master 主分支上
注意点:假设要把 C 分支的代码合并到 A 分支,则必须先切换到A分支
上,再运行git merge 命令
,来合并 C 分支!
6、删除分支
- 当把功能分支的代码合并到 master 主分支上以后,就可以删除对应的功能分支
- 删除命令:
git branch -d 分支名称
- 注意:
不能处于删除的分支
7、遇到冲突时的分支合并
- 如果在
两个不同的分支中
,对同一个文件
进行了不同的修改
,Git 就没法干净的合并它们。- 我们需要打开这些包含冲突的文件然后
手动解决冲突
7.1 冲突的形成
7.2 合并
7.3 手动解决冲突
- 打开吧包含的冲突文件,手动解决冲突之后,再执行如下命令
- git add .
- git commit -m “解决了分支冲突问题”
git分支的冲突我还是很懵,解决方法我也不太明白