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

article/2025/9/28 21:16:27

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 的话,代码库的提交历史将会变得异常清晰。

 

 222222

# 创建新分支 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知识中整理的一篇笔记,放在CSDN只是为了方便日后复习和学习。若能给大家带来帮助,我将深感欣慰,对于评论区说该篇文章给大家带来了很大的困惑的事儿,在此我为我的学艺不精向各位道歉。

另外推荐我曾经用来学习Git的网站http://learngitbranching.js.org/

 


http://chatgpt.dhexx.cn/article/CVSDOpas.shtml

相关文章

Git合并分支代码到主分支的方法总结

目录 一、简介 二、实现步骤 一、简介 在使用Git开发过程中,我们一般都是在develop开发分支上进行开发,应该比较少会在master分支上直接开发的,一般如果开发分支进行了一次大版本的更新并且经过测试后,我们就需要将代码同步到m…

Git整合分支的两种方法——合并(git merge)与变基(git rebase)的区别

转载者总结了下原文的关键句,补充了几个相关链接,得到本文。 文章目录 Git整合分支的两种方法1、合并(git merge)2、变基(git rebase) 用例子理解 合并(git merge)与变基(git rebase)的区别合并&#xff08…

git 分支合并(dev合并到master分支)

前景:在项目开发中,经常会多分支协作开发,所以就会遇到分支合并等问题。以下用例是将dev分支合并到master分支 1. 对当前dev分支的本地代码进行储存 1.1 如当前代码未编辑完,不想提交,即可将当前dev分支的代码暂存 gi…

Git 分支合并代码

Git 分为哪几个区: https://blog.csdn.net/qq_36672905/article/details/82776283 Git的区域分为 工作区、暂存区、本地仓库区 工作区(work directory):一般就是我们项目的根目录。 本地仓库(repository&#xff0…

git将一个分支的提交合并到另一个分支

git将一个分支的提交合并到另一个分支 Git合并指定文件到另一个分支。 经常被问到如何从一个分支合并特定的文件到另一个分支。其实,只合并你需要的那些commits,不需要的commits就不合并进去了。 1. 合并某个分支上的单个commit 首先,用g…

Git分支合并到另外一个分支

注意:不能在分支节点再新建分支节点,及时新建了成功了,分支节点也是基于master去建立的。(已验证) 下面来提一个需求: 需要新建两个分支,一个是test1另外一个是test2,首先在test1上开发&#…

git查看分支、创建分支、合并分支

一、查看的git命令如下: git branch 列出本地已经存在的分支,并且当前分支会用*标记 git branch -r 查看远程版本库的分支列表 git branch -a 查看所有分支列表(包括本地和远程,remotes/开头的表示远程分支) git bran…

git合并分支总结(一看就懂哟)

1.主分支:在本地先拉取最新代码,提交(commit)到本地,推送(push)到云端 --下图是idea中提交到本地,未推送到云端的提示: 2.小分支:在本地先拉取最新代码&…

git如何把其他分支的合并到主分支上,主分支的合并到其他分支上

master:主分支 other:其他分支 首先查看分支 git branch如果分支在主分支上忽略此步,如果不在切换分支 git checkout other在other分支上拉取代码 git pull最重要的一步,拉完代码后,在切换到master分支上&#xff…

git merge合并分支

一、本文是从master分支拉出的two,然后合并回master 1、切换到master分支:git checkout master 2、创建并切换到two分支:git checkout -b two 3、将two分支push到远程仓库(与本地仓库同步):git push ori…

git分支的合并

原文: http://gitbook.liuhui998.com/3_3.html http://gitbook.liuhui998.com/5_3.html 一、如何分支的合并 在git中,可以使用 git merge 和 git rebase 两个命令来进行分支的合并。 git merge 和 git rebase 在大体上都差不多,下文主要以g…

Git提交本地代码至分支及合并分支到总分支

Git提交本地代码至分支 前言一、查看分支二、本地新建分支三、切换到新分支四、创建并切换分支五、将新分支推送到gitlab六、删除分支七、git 提交本地代码至新分支八、将分支代码合并到总分支 前言 git版本控制工具和svn差不多,可选择的远程库有github、gitlab、g…

git怎么合并两个分支

git怎么合并分支代码 1.git 命令 注意: 第一步你得把当前分支合到远程分支去才能有下面的操作 另外我是将develop分支代码合并到release分支去1.推完代码到远程仓库查看本地分支(如果推错分支代码那么请将分支切到刚刚推送上去代码的分支在来进行下面的操作) git branch2.切…

【剑指offer】【java】变态跳台阶

题目 一只青蛙一次可以跳上1级台阶,也可以跳上2级……它也可以跳上n级。求该青蛙跳上一个n级的台阶总共有多少种跳法。 思路 1.这里计算的是跳法数 而不是跳的次数 2.用递归解决 代码 public class Solution {public int JumpFloorII(int target) {if (target…

接了个变态需求:生成 Excel + PDF 导出,用 Java 怎么实现?

一、序言 Excel、PDF的导出、导入是我们工作中经常遇到的一个问题,刚好今天公司业务遇到了这个问题,顺便记个笔记以防下次遇到相同的问题而束手无策。 公司有这么两个需求: 需求一、给了一个表单,让把查出来的数据组装到表单中…

Java面试题目和答案

Java面向对象有哪些特征,如何应用 ​ 面向对象编程是利用类和对象编程的一种思想。万物可归类,类是对于世界事物的高度抽象 ,不同的事物之间有不同的关系 ,一个类自身与外界的封装关系,一个父类和子类的继承关系&…

浅析Java多态

Java多态 今天来谈谈Java中的多态,作为面向对象的一大特性,它的重要性不必多说,相比其他两特性(继承、封装)从字面上看就有点不易读懂,多种态度还是有多变态? 官解 官方解释: 多态…

java连连看小游戏

目录 运行界面图 代码如下(示例): 2.运行演示 这是一个用java编写的小游戏,连连看是一种消除类益智游戏,核心要求是在规定的时间内,消除游戏界面中选中的两张相同的图案,直至完全消除所有图案…

南阳ACM 题目811:变态最大值 Java版

变态最大值 时间限制:1000 ms | 内存限制:65535 KB 难度:1 描述 Yougth讲课的时候考察了一下求三个数最大值这个问题,没想到大家掌握的这么烂,幸好在他的帮助下大家算是解决了这个问题,但是问题又来了。…

线程池的好处

线程池的好处: 一.降低资源消耗。通过重复利用已创建的线程降低线程创建和销毁造成的消耗。(当线程run方法使用完毕后,下一个线程不用再次创建,直接利用上一个线程) 二.提高响应速度。当任务到达时,任务可以不需要等到…