首页 > 其他分享 >合并分支:Git merge 和 rebase 的区别

合并分支:Git merge 和 rebase 的区别

时间:2024-10-21 10:13:10浏览次数:8  
标签:Git rebase 合并 feature merge git main

结论:

  1. 直接merge会产生合并提交记录,而rebase是会形成线性的提交记录,如果该合并是有意义的合并,则可以使用merge,记录合并提交记录,如果是日常个人的合并,则使用rebase,减少无意义的合并提交记录
  2. 使用rebase要注意在自己的分支上进行,不然会导致其他人由于指向的commit id不同,导致同步问题
  3. git pull 默认是merge ,可配置为rebase

分析

假设当前有两个分支,一个特性分支、一个主分支,如图
image

使用merge

(main): git merge feature

结果如下图

image

使用rebase

(feature): git rebase main
(feature): git checkout main
(main): git merge feature

image
image

使用merge --squash

(main): git merge --squash feature
image

个人笔记备忘,整理自知行小课

标签:Git,rebase,合并,feature,merge,git,main
From: https://www.cnblogs.com/kyou/p/18488451

相关文章

  • 情绪稳定!别再让Git合并冲突影响你工作了
    大家好,我是陈哥,今天想和大家聊聊Git合并冲突解决~背景前几天,我正好收到了一位读者的留言:又又又又遇到了Git合并冲突,解决冲突比写代码还费劲,突然想起SVN的好。该怎么避免Git冲突啊?我想,比如这样?在我看来,Git合并冲突是不可避免的。在本文,我想和大家简单分享一下遇到Git冲突该如......
  • 第5课 GIT版本控制器
    1、版本控制:一种在开发过程用于管理我们对文件,目录或工程等内容的修改历史,方便查看历史记录,备份以恢复以前的版本软件工程技术。2、仓库:受版本控制所有文件修订历史的贡献数据或文件3、工作空间:本地硬盘或linux用户账户上编辑的文件副本4、工作树/工作区:工作区中包括了仓库......
  • Hello, Git
    Git配置查看配置信息gitconfig--list配置用户信息gitconfig--globaluser.name[name_info]gitconfig--globaluser.email[email_info]生成ssh秘钥(可选)ssh-keygen-trsa-C[email_info]Git工作流程克隆仓库如果你要参与一个已有项目,首先需要将远程仓库克隆......
  • git安装使用及连接gitlab集成idea
    一、简介Git是一个开源的分布式版本控制系统,通过git可以对项目进行代码托管,通常配合GitLub、Github使用;想了解更多请进官网(官网下载较慢):https://www.git-scm.com/download/win也可通过关注公众号回复git获取Git-2.46.0-64-bit的安装包二、安装2.1一般公共许可双击下载......
  • 最小体积拉取git仓库并保持可更新
    对于超大型的git仓库不需要提交只是拉取代码进行查看并希望保持代码更新,那么使用depth不仅能得到极小体积的仓库还能大大提速拉取时间拉取最小代码结论:功德+1,来自于掌门的用法,depth设置为300之后,基本上没碰到问题,git新手也可以完整拉取。拉取代码:gitclonehttp://git-inter......
  • git基础
    Git参考地址:https://www.runoob.com/git/git-tutorial.html零、概念介绍​ Git是一个分布式(本地和远程仓库)版本控制工具,通常用来对软件开发过程中的源代码文件进行管理。通过GIt仓库来存储和管理这些文件,Git仓库分为两种:​ 本地仓库:开发人员自己电脑上的Git仓库​ 远程......
  • github/gitee个人博客到底是什么一个运行原理?
    本文主要讲的是GitHub、Gitee这样的代码存储网站上提供的个人博客建站的原理分析,需要注意的是,本文并不介绍GitHub、Gitee上建立个人blog的操作步骤,本文只介绍原理,不介绍实操步骤。在交代本文主要内容之前需要说明几个概念,那就是动态网站、静态网站的区别,在这两个概念之上我又提......
  • 如何使用github actions 自动部署Hexo博客
    一、创建github仓库创建两个github仓库,一个共有仓库和一个私有仓库。私有仓库用来存储Hexo项目源代码用master分支来存放项目源代码公有仓库用来存储编译之后的静态页面用gh-pages分支来存储静态页面当私有仓库的master分支有内容push进来时,GitHubActions自动编译并且......
  • 安装 Git
    目录git的下载选择Windows开始安装找到下载位置双击Git同意协议选择安装路径剩下的采取傻瓜式安装选择安装的组件开始菜单目录默认编辑器选择初始化新项目的主干名称调整git的环境变量选择SSH可执行文件选择HTTPS后端传输配置行尾转换配置GitBash使用的终端模拟器git......
  • golang项目引用GitHub私有仓库module
    1.创建gomodule项目module的名字假设为go-testmodule项目创建成功后,将go.mod文件中的module"go-test"修改成module"github.com/tonglin0325/go-test"避免引用的时候goget的时候报错,如下gogetgithub.com/tonglin0325/go-test@latestgo:github.com/tonglin0325......