git分支管理和合并以及处理冲突
1.git分支管理和合并
1.1 认识分支
创建仓库之后,就有了一个默认的分支:master
如图所示:
- 包含N个提交历史
- 按照顺序排列
- 有名字
查看分支
1.git菜单-分支,查看
2.或者git图标查看
1.2 创建分支
关键点:创建新的分支时,自动包含当前分支所有的提交历史
创建分支的时候,需要指定当前分支
- 方法1:git菜单--新分支
- 方法2:git日志-右击分支,选择新建分支
:当前分支
星星:会进行跟踪的分支,与远程建立连接的分支
:从其他分支分出来的分支
关于签出(chekout):切换到指定分支
1.3 合并分支
如果一个分支想要拥有另一个分支的全部的提交历史,可以通过合并来实现
A合并到B=B发生变化
B合并到A=A发生变化
- 方法1:git菜单-合并
从别的分支合并到到当前分支,test分支发生变化
- 方法2:git日志-右击分支,选择合并到‘xxx’中
特殊情况:
- 分支已经合并过了
- 分支的内容,已经拥有过
合并不会发生任何变化
1.4 删除分支
git日志-右击,选择删除按钮
1.5 使用git命令完成分支的管理
1.5.1 查看分支
查看本地分支:git branch
查看远程分支:git branch -r
查看本地和远程分支:git branch -a
1.5.2 创建分支
创建分支:git branch test(创建test分支)
切换到test分支:git checkout test
创建并切换分支:git checkout -b uat
1.5.3 合并分支
先切换到其他分支:git checkout master
再合并当前分支:git merge uat
1.5.4 删除分支
删除分支:git branch -d uat
-D :强制删除
-d:删除
2.处理冲突
2.1 什么时候会出现冲突
新的提交历史试图修改被修改的文件
举例:
- 远程拉取(远程仓库和本地代码不一致)
- 不同分支在同一时间修改了同一个文件,两个分支合并时会冲突
2.2 处理冲突
git在遇到冲突时会中断合并,让我们进行处理
- 中止合并
- git-中止合并
- 继续合并
- 在冲突的位置,决定采用哪个分支的修改
- 在冲突的位置,进行新的修改
- 不要擅自删除(丢弃)其他人的提交历史
如果有多个文件,有多次冲突,依次处理