[Git]3_分支管理
Posted aacirq
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了[Git]3_分支管理相关的知识,希望对你有一定的参考价值。
目录
学习资源来自廖雪峰的Git教程
本文简短记忆学习内容,主要是使用命令,方便以后查看,完整学习请查看廖雪峰Git教程
操作过程在Ubuntu18.04
完成,其他平台没有尝试
创建与合并分支
创建
branch
$ git branch <branch name>
切换
branch
$ git checkout dev
上面两步也可以通过下面一步来完成
$ git checkout -b dev # 加上-b参数之后,表示创建并切换
查看当前
branch
$ git branch
合并分支
$ git merge <branch>
该命令为合并指定分支到当前分支。
返回信息中,
Fast-forward
表示”快进模式“,直接把当前分支指向指定分支。删除分支
$ git branch -d <branch>
解决冲突
冲突产生原因:当两个分支都更改了一个文件时,而且都提交,这样在合并的时候,就会产生冲突。
而当产生冲突的时候,需要手动解决冲突,然后再提交,再生成commit
,才能合并完成。
手动解决冲突的方法:将Git合并失败的文件手动编辑为我们希望的内容,然后在提交。
解决完冲突之后,可以看分支合并图,使用命令
$ git log --graph --pretty=oneline
分支管理策略
不使用Fast forward
模式
$ git merge --no-ff -m <message> <branch name>
不使用Fast forward
模式合并
分支策略
master
分支非常稳定,只发布新版本- 平常干活在
dev
分支上,dev
分支不稳定 - 每个人都有自己的分支,然后将自己的工作合并到
dev
分支上
Bug分支
如果有bug需要修复,一般会创建新的bug修复分支来修复,合并,最后删除。
如果想要修复bug时,手头上还有任务未完成,可以先把工作现场保存,然后恢复,一系列命令如下表格
命令 | 作用 |
---|---|
git stash |
暂时保存工作现场 |
git stash list |
查看保存的工作现场 |
git stash apply |
恢复工作现场,但是stash 内容不删除 |
git stash apply [email protected]{n} |
恢复到[email protected]{n} (序号) |
git stash drop |
删除stash |
git stash pop |
恢复工作现场,并删除stash 内容 |
Feature分支
开发一个新功能的时候,最好新建一个feature
分支,开发完成之后合并,再删除此分支
如果使用命令git branch -d <branch name>
删除一个没有合并的分支时,会失败,需要使用如下命令强制删除
$ git branch -D <branch name>
以上是关于[Git]3_分支管理的主要内容,如果未能解决你的问题,请参考以下文章