一、分支管理
- 概念:每次提交,Git都把他们串成一条时间线,这条时间线就是一个分支。
- 价值:多人协作,环境管理。
二、创建分支
2.1 创建分支,但仍然停留在当前分支:git branch 分支名
2.2 新建分支并直接切换至该分支:git checkout -b 分支名
三、查看分支
3.1 列出所有本地分支:git branch
3.2 列出所有远程分支:git branch -r
3.3 列出所有本地与远程分支:git branch -a
四、切换分支
- 切换到指定分支:git checkout 分支名
五、删除分支
- 删除指定分支:git branch -d 分支名
六、Git分支合并与冲突
6.1 分支合并应用场景
- 合入主分支
- 主分支合并其他分支:通常使用Merge Request的方式。
6.2 合并分支
- 合并指定分支到当前分支:git merge 其他分支 本分支
示例1:
示例2:
- 变基(重新设置基准): git rebase 其他分支
示例:
6.3 冲突
-
冲突定义:在并行工作的模式下,工作最终会发生重叠。当多个成员以不同的方式更改同一行内容时,Git无法判断哪个版本是正确的,就会产生冲突。
-
冲突场景:
- 多个分支代码合并到一个分支时;
- 多个分支向同一个远端分支推送代码时。
示例:
$ git merge change_site
Auto-merging filename
CONFLICT (content): Merge conflict in filename
Automatic merge failed; fix conflicts and then commit the result.
- 解决冲突
-
解决冲突方式:
- IDE中解决冲突:选择要保留的内容,点击Accept,保存代码。
- 文件中解决冲突:保留需要的内容,删除其余内容,去掉分割线,保存代码。
-
解决冲突流程:
-
- 在本地当前分支上,修改冲突内容;
- 执行git add . 添加到暂存区;
- 执行git commit -m “提交说明” 提交到本地仓库,完成合并;
- 执行git push提交到远程仓库。