首页 > 其他分享 >git rebase 详解

git rebase 详解

时间:2023-02-07 19:31:54浏览次数:43  
标签:git rebase feature 详解 Master 提交 分支

今天我们来聊一下git中的变基

git rebase 命令的文档描述是 Reapply commits on top of another base tip,从字面上理解是「在另一个基端之上重新应用提交」,这个定义听起来有点抽象,换个角度可以理解为「将分支的基础从一个提交改成另一个提交,使其看起来就像是从另一个提交中创建了分支一样」,如下图:

git rebase 详解_git

假设我们从 Master 的提交 A 创建了 feature 分支进行新的功能开发,这时 A 就是 feature 的基端。接着 Master 新增了两个提交 B 和 C,feature 新增了两个提交 D 和 E。现在我们出于某种原因,比如新功能的开发依赖 B、C 提交,需要将 Master 的两个新提交整合到 feature 分支,为了保持提交历史的整洁,我们可以切换到 feature 分支执行 rebase 操作:

git rebase master

总结rebase的使用场景:

  • 我们从 Master 分支拉取了一条 feature 分支在本地进行功能开发
  • 远程的 Master 分支在之后又合并了一些新的提交
  • 我们想在 feature 分支集成 Master 的最新更改

另外,在我们日常提交代码前,将服务器的代码更新到本地后,再提交代码时,会发现本地有很多别人修改的代码成为了自己修改的代码且标记为被修改的状态,解决这个问题的方法就是rebase

标签:git,rebase,feature,详解,Master,提交,分支
From: https://blog.51cto.com/u_15776786/6042656

相关文章

  • 详解监控告警系统 Prometheus 与可视化工具 Grafana
    楔子不管是做Web开发,还是做大数据开发,不管是离线项目,还是实时项目,最终都要把我们的应用提交到服务器上面,然后运行。但在应用运行的过程中,谁也不能保证百分百不出问题,所......
  • Java测试框架——JUnit详解(4&5)
    JUnit是Java编程语言的单元测试框架,用于编写和运行可重复的自动化测试,也是当下主流的Java测试框架前言如果有对单元测试还不熟悉的小伙伴可以看一下我的这篇文章——​​浅......
  • AI智能检测EasyCVR视频融合平台V3.0版本新功能详解
    随着安防市场的规模不断扩大与发展,EasyCVR快速纵深的视频能力使其已经成为安防行业的主流需求平台,在视频能力上,支持海量视频的汇聚与管理、转码与分发、鉴权管理、智能分析......
  • 如何修剪git reflog历史
    背景:vscode插件git-graph可以方便查看git-commit-graph,效果很好,关键是交互性很好。点选任意commit即可预览提交内容,实在是太方便了,比我之前用命令行上gitlog--graph--o......
  • ESD二极管选型选用、封装和经典应用详解
    都知道,静电放电在我们日常生活中是一种很常见的现象。但是,对于电子产品而言,静电放电可能会导致电路中的元器件内部受损,影响产品的正常使用寿命,甚至损坏。为此,做好ESD防护是......
  • AI智能检测EasyCVR视频融合平台V3.0版本新功能详解
    随着安防市场的规模不断扩大与发展,EasyCVR快速纵深的视频能力使其已经成为安防行业的主流需求平台,在视频能力上,支持海量视频的汇聚与管理、转码与分发、鉴权管理、智能分析......
  • git合并、修改一些已经提交的命令
    折腾了一下(写一下,免的忘了)1、首先查看查看是到多少,命令 gitlog2、开始变基最开始的几个是(head~多少),其余的大家用的时候再查阅其他的看看,我就说说简......
  • git 分支
    如果主分支不为master,如new_trunk:1、#gitcheckout-bV3.18.45origin/V3.18.452、#gitbranch-va3、#gitcheckoutnew_trunk4、#gitmergeV3.18.45-m“Build-Ta......
  • 58-CICD持续集成工具-Git和GitLab
    Ubuntu编译安装git拉取git安装包(获取国外资源网速受限,可以clon到gitee项目中,从国内拉取)[root@ubuntu2204~]#aptupdate;apt-yinstallgccmakedh-autoreconflibcurl4......
  • this和super的详解
    publicclassPerson{protectedStringname="d";publicPerson(){System.out.println("Person");}}/*super注意点:1.super调用父类的构造......