Git教程(7)- 创建与合并分支

2020年8月24日16:10:42 评论 43

1、分支管理

在版本回填退里,你已经知道,每次提交,Git都把它们串成一条时间线,这条时间线就是一个分支。截止到目前,只有一条时间线,在Git里,这个分支叫主分支,即master分支。HEAD严格来说不是指向提交,而是指向master,master才是指向提交的,所以,HEAD指向的就是当前分支。

首先,我们来创建dev分支,然后切换到dev分支上。如下操作:

Git教程(7)- 创建与合并分支

git checkout 命令加上 –b参数表示创建并切换,相当于如下2条命令

git branch dev

git checkout dev

git branch查看分支,会列出所有的分支,当前分支前面会添加一个星号。然后我们在dev分支上继续做demo,比如我们现在在readme.txt再增加一行 7777777777777

首先我们先来查看下readme.txt内容,接着添加内容77777777,如下:

Git教程(7)- 创建与合并分支

现在dev分支工作已完成,现在我们切换到主分支master上,继续查看readme.txt内容如下:

Git教程(7)- 创建与合并分支

现在我们可以把dev分支上的内容合并到分支master上了,可以在master分支上,使用如下命令 git merge dev 如下所示:

Git教程(7)- 创建与合并分支

git merge命令用于合并指定分支到当前分支上,合并后,再查看readme.txt内容,可以看到,和dev分支最新提交的是完全一样的。

注意到上面的Fast-forward信息,Git告诉我们,这次合并是“快进模式”,也就是直接把master指向dev的当前提交,所以合并速度非常快。

合并完成后,我们可以接着删除dev分支了,操作如下:

Git教程(7)- 创建与合并分支

总结创建与合并分支命令如下:

   查看分支:git branch

   创建分支:git branch name

   切换分支:git checkout name

   创建+切换分支:git checkout –b name

   合并某分支到当前分支:git merge name

   删除分支:git branch –d name

2、如何解决冲突?

下面我们还是一步一步来,先新建一个新分支,比如名字叫fenzhi1,在readme.txt添加一行内容8888888,然后提交,如下所示:

Git教程(7)- 创建与合并分支

同样,我们现在切换到master分支上来,也在最后一行添加内容,内容为99999999,如下所示:

Git教程(7)- 创建与合并分支

现在我们需要在master分支上来合并fenzhi1,如下操作:

Git教程(7)- 创建与合并分支

Git用<<<<<<<,=======,>>>>>>>标记出不同分支的内容,其中<<<HEAD是指主分支修改的内容,>>>>>fenzhi1 是指fenzhi1上修改的内容,我们可以修改下如下后保存:

Git教程(7)- 创建与合并分支

如果我想查看分支合并的情况的话,需要使用命令 git log 命令行演示如下:

Git教程(7)- 创建与合并分支

      通常合并分支时,git一般使用”Fast forward”模式,在这种模式下,删除分支后,会丢掉分支信息,现在我们来使用带参数 –no-ff来禁用”Fast forward”模式。首先我们来做demo演示下:

  1. 创建一个dev分支。
  2. 修改readme.txt内容。
  3. 添加到暂存区。
  4. 切换回主分支(master)。
  5. 合并dev分支,使用命令 git merge –no-ff  -m “注释” dev
  6. 查看历史记录

截图如下:

 Git教程(7)- 创建与合并分支

3、分支管理策略。

首先master主分支应该是非常稳定的,也就是用来发布新版本,一般情况下不允许在上面干活,干活一般情况下在新建的dev分支上干活,干完后,比如上要发布,或者说dev分支代码稳定后可以合并到主分支master上来。

你和你的小伙伴们每个人都在dev分支上干活,每个人都有自己的分支,时不时地往dev分支上合并就可以了。所以,团队合作的分支看起来就像这样:

Git教程(7)- 创建与合并分支


继续阅读:Git教程

Git教程(1)- 简介和安装
Git教程(2)- 创建版本库
Git教程(3)- 版本回退
Git教程(4)- 理解工作区与暂存区的区别
Git教程(5)- 撤销修改和删除文件操作
Git教程(6)- 操作远程仓库
Git教程(7)- 创建与合并分支
Git教程(8)- bug分支
Git教程(9)- 多人协作
Git教程(10)- Git基本常用命令
Git教程(11)- Git命令图解剖析(进阶)

回到目录页Git教程 - 目录

(转载自:https://www.cnblogs.com/tugenhua0707/p/4050072.html)

素课网
  • 本文由 发表于 2020年8月24日16:10:42
  • 转载请注明:https://www.suketech.com/9433.html
Git教程(10)- Git基本常用命令 Git教程

Git教程(10)- Git基本常用命令

我每天使用 Git ,但是很多命令记不住。 一般来说,日常使用只要记住下图6个命令,就可以了。但是熟练使用,恐怕要记住60~100个命令。 下面是我整理的常用 Git 命令清单。几个专用名词的译名如下...
Git教程(9)- 多人协作 Git教程

Git教程(9)- 多人协作

当你从远程库克隆时候,实际上Git自动把本地的master分支和远程的master分支对应起来了,并且远程库的默认名称是origin。 要查看远程库的信息 使用 git remote 要查看远程库的详...
Git教程(8)- bug分支 Git教程

Git教程(8)- bug分支

在开发中,会经常碰到bug问题,那么有了bug就需要修复,在Git中,分支是很强大的,每个bug都可以通过一个临时分支来修复,修复完成后,合并分支,然后将临时的分支删除掉。 比如我在开发中接到一个40...
匿名

发表评论

匿名网友 填写信息

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: