[Git]3_分支管理

Posted aacirq

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了[Git]3_分支管理相关的知识,希望对你有一定的参考价值。

目录

学习资源来自廖雪峰的Git教程

本文简短记忆学习内容,主要是使用命令,方便以后查看,完整学习请查看廖雪峰Git教程

操作过程在Ubuntu18.04完成,其他平台没有尝试

创建与合并分支

  1. 创建branch

    $ git branch <branch name>
  2. 切换branch

    $ git checkout dev

上面两步也可以通过下面一步来完成

$ git checkout -b dev # 加上-b参数之后,表示创建并切换
  1. 查看当前branch

    $ git branch
  2. 合并分支

    $ git merge <branch>

    该命令为合并指定分支到当前分支。

    返回信息中,Fast-forward表示”快进模式“,直接把当前分支指向指定分支。

  3. 删除分支

    $ git branch -d <branch>

解决冲突

冲突产生原因:当两个分支都更改了一个文件时,而且都提交,这样在合并的时候,就会产生冲突。

而当产生冲突的时候,需要手动解决冲突,然后再提交,再生成commit,才能合并完成。

手动解决冲突的方法:将Git合并失败的文件手动编辑为我们希望的内容,然后在提交。

解决完冲突之后,可以看分支合并图,使用命令

$ git log --graph --pretty=oneline

分支管理策略

不使用Fast forward模式

$ git merge --no-ff -m <message> <branch name>

不使用Fast forward模式合并

分支策略

  1. master分支非常稳定,只发布新版本
  2. 平常干活在dev分支上,dev分支不稳定
  3. 每个人都有自己的分支,然后将自己的工作合并到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_分支管理的主要内容,如果未能解决你的问题,请参考以下文章

[Git]3_分支管理

GIT库代码管理规范

Git - 入门到熟悉_分支管理

Git - 入门到熟悉_分支管理

20180619_Git 分支管理之bug分支

git如何基于分支拉取分支