当前位置: 首页 > 编程笔记 >

详解git的分支与合并的两种方法

韩恺
2023-03-14
本文向大家介绍详解git的分支与合并的两种方法,包括了详解git的分支与合并的两种方法的使用技巧和注意事项,需要的朋友参考一下

如何将两个分支合并到一起。就是说我们新建一个分支,在其上开发某个新功能,开发完成后再合并回主线。

1.   git merge

咱们先来看一下第一种方法 —— git merge

在 Git 中合并两个分支时会产生一个特殊的提交记录,它有两个父节点。翻译成自然语言相当于:“我要把这两个父节点本身及它们所有的祖先都包含进来。”下面具体解释。

# 创建新分支 bugFix
git branch bugFix

# 切换到该分支
git checkout bugFix

# 提交一次
git commit

#   切换回 master
git checkout master

#  再提交一次
git commit

# 用 git merge 把 bugFix 合并到 master
git merge bugFix

(master 的分支被混入到所有的提交记录,但 bugFix 没有,所以要进行下面的操作)

# 再把 master 分支合并到 bugFix(因为 master 继承自 bugFix,Git什么都不用做,只是简单地把 bugFix 移动到 master所指向的那个提交记录。)
git checkout bugFix;
git merge master

2.  git rebase

第二种合并分支的方法是 git rebase。rebase 实际上就是取出一系列的提交记录,“复制”它们,然后在另外一个地方逐个的放下去。

Rebase 的优势就是可以创造更线性的提交历史,这听上去有些难以理解。如果只允许使用 Rebase 的话,代码库的提交历史将会变得异常清晰。

# 创建新分支 bugFix分支
git branch bugFix

#提交一次(提交在master分支上)
git commit

# 切换到bugFix分支
git checkout bugFix

# 提交一次(提交在bugFix分支上)
git commit

#使用git rebase把 bugFix 分支里的工作直接移到 master 分支上(移动以后会使得两个分支的功能看起来像是按顺序开发,但实际上它们是并行开发#的)。
git rebase master

注意:提交记录 C3 依然存在(树上那个半透明的节点),而 C3'是我们 Rebase 到 master 分支上的 C3 的副本。

#切换到master分支上(为了进行更新master的操作)
git checkout master

#把master的 rebase 到 bugFix 分支上(由于 bugFix 继承自 master,所以 git 只是简单的把 master 分支的引用向前移动了一下而已。)
git rebase bugFix

到此这篇关于详解git的分支与合并的两种方法的文章就介绍到这了,更多相关git分支与合并内容请搜索小牛知识库以前的文章或继续浏览下面的相关文章希望大家以后多多支持小牛知识库!

 类似资料:
  • 本文向大家介绍详解Git合并分支的流程步骤,包括了详解Git合并分支的流程步骤的使用技巧和注意事项,需要的朋友参考一下 正常合并分支dev到master流程: (合并到其他分支类似哈) 1、要合并的dev分支先更新提交所有文件 注意: 如果不需要提交的本地化修改文件的话,最好不要提交上去。临时备份然后删掉或者撤回。 进入项目根目录,然后执行: 2、切换到master分支 3、更新master代码到

  • 让我们来看一个简单的分支新建与分支合并的例子,实际工作中你可能会用到类似的工作流。 你将经历如下步骤: 开发某个网站。 为实现某个新的需求,创建一个分支。 在这个分支上开展工作。 正在此时,你突然接到一个电话说有个很严重的问题需要紧急修补。 你将按照如下方式来处理: 切换到你的线上分支(production branch)。 为这个紧急任务新建一个分支,并在其中修复它。 在测试通过之后,切换回线上

  • Git 有几个实现大部的分支及合并功能的实用命令。 git branch git branch 命令实际上是某种程度上的分支管理工具。 它可以列出你所有的分支、创建新分支、删除分支及重命名分支。 Git 分支 一节主要是为 branch 命令来设计的,它贯穿了整个章节。 首先,我们在 分支创建 一节中介绍了它,然后我们在 分支管理 一节中介绍了它的其它大部分特性(列举及删除)。 在 跟踪分支 一节

  • 分支是我最喜欢的 Git 特性之一。如果你用过其他版本控制系统,把你所知的分支给忘记,倒可能更有帮助些 ——事实上,以我们使用分支的方式,把 Git 的分支看作 上下文 反而更合适。当你检出分支时,你可以在两三个不同的分支之间来回切换。 简而言之,你可以执行 git branch (branchname) 来创建分支,使用 git checkout (branchname) 命令切换到该分支,在该

  • 每次我将一个分支合并回我的主分支时,我就不能再推到原点。我收到消息 我做了一个简单的测试更改: 创建了一个新的分支 做了一个更改到测试分支和提交 签出回到主 合并测试分支 合并似乎进行得很顺利,但现在当我使用Git状态时,主分支并没有告诉我它在源代码之前。当我试着推到原始主机时,我得到了上面的信息。 有人知道是什么导致了这个问题吗?

  • 让我们来看一个简单的分支新建与分支合并的例子,实际工作中你可能会用到类似的工作流。 你将经历如下步骤: 开发某个网站。 为实现某个新的需求,创建一个分支。 在这个分支上开展工作。 正在此时,你突然接到一个电话说有个很严重的问题需要紧急修补。 你将按照如下方式来处理: 切换到你的线上分支(production branch)。 为这个紧急任务新建一个分支,并在其中修复它。 在测试通过之后,切换回线上

  • 本文向大家介绍详解Swift model 解析的两种方法,包括了详解Swift model 解析的两种方法的使用技巧和注意事项,需要的朋友参考一下 详解Swift model 解析的两种方法 1. 常规解析方法 model 2. 利用swift自有的函数进行解析-------推荐 如有疑问请留言或者到本站社区交流讨论,感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!

  • Git 有几个实现大部的分支及合并功能的实用命令。 git branch git branch 命令实际上是某种程度上的分支管理工具。 它可以列出你所有的分支、创建新分支、删除分支及重命名分支。 Git 分支 一节主要是为 branch 命令来设计的,它贯穿了整个章节。 首先,我们在 分支创建 一节中介绍了它,然后我们在 分支管理 一节中介绍了它的其它大部分特性(列举及删除)。 在 跟踪分支 一节