首页 > 其他分享 >git - rebase 使用

git - rebase 使用

时间:2023-10-08 16:55:44浏览次数:33  
标签:git rebase 目标 当前 使用 commit 分支

原理

一句话总结就是:把当前分支从搬到目标分支之上。

  1. 首先,执行rebase操作时会先找到当前分支和目标分支的最近共同commit。
  2. 然后记录下当前分支自这个共同commit以来的所有提交。
  3. 之后分别将记录中的commit应用到目标分支上,类似于cherry-pick。如果遇到冲突需要先解决冲突。
  4. 最后将当前分支移动到目标分支处理完的最新提交上。

整个过程类似于入栈的操作。

需要注意的是,当执行rebase操作之后,想要直接git push是没办法成功的,因为当前分支的基己经变了(也就是“变基”),所以需要添加 --force 参数才能提交。

使用

git checkout dev (当前分支)
git rebase master(目标分支)

标签:git,rebase,目标,当前,使用,commit,分支
From: https://www.cnblogs.com/charlottepl/p/17749587.html

相关文章

  • ts 中泛型的简单使用
    interfaceApiResponseData<T>{ code:number data:T message:string}在这段TypeScript代码中,T是一个泛型参数(genericparameter),用于描述ApiResponseData<T>的类型。泛型可以理解为是一种占位符,它能够让我们在定义函数或类型时先不确定具体的类型,而是让使用......
  • Unity 通信方案 - 使用 Google Protobuf 序列化数据
    1.下载和编译1.1下载ProtoBuf源文件从github下载最新的protoBuf库,如下图所示 Releases·protocolbuffers/protobuf(github.com)1.2编译dll和导入解压后打开/scharp/src中的sln工程文件 选择Release,Google.Protobuf,之后在生成中生成文件在......
  • 内核态内存的正确使用方法
    前言看完了伙伴系统的设计、slab分配器的设计、vmalloc、kmalloc这些内容对于内存管理的一些细节上好像比较清楚了,但是内核是如何使用内存的还是有一些混淆。也产生了一些疑问,在内核中内存的正确打开方式是什么呢?内核地址空间划分首先我们需要搞情况内核的地址空间,不同地址空间......
  • centos7系统中创建临时接口,使用jmeter进行http压测
    要在一台CentOS7服务器上使用JMeter进行HTTP接口的压测,首先需要在服务器上部署一个Web服务器,然后在其上部署您想要测试的接口。以下是一些简单的步骤来实现这一目标:步骤1:在CentOS7服务器上安装Web服务器您可以选择安装常用的Web服务器,比如Apache或Nginx。以下......
  • ControlNet-trt优化总结3:使用multi-stream和cuda-graph构建并行流水线
    ControlNet-trt优化总结3:使用multi-stream和cuda-graph构建并行流水线上节谈到使用TRT-API来构建网络,在这一节中总结一些trick来提升模型的运行效率,这些trick在所有的trt优化中均可使用,主要有以下几点:使用cuda_graph减少kernel间的启动间隙使用Mutil-stream增加异步cuda_gra......
  • 使用binlog恢复数据
    目录数据模拟恢复到查找最初始的建prod表查找updata语句查找delete语句查找删除语句数据模拟[root@db01~]#cat6.sh#!/bin/bashmysql-uroot-p123-e"dropdatabaseifexistsprod;"mysql-uroot-p123-e"createdatabaseifnotexistsprod;"mysql-uroot-p123......
  • 使用RequireJS并实现一个自己的模块加载器 (一)
    使用RequireJS并实现一个自己的模块加载器(一) RequireJS&SeaJS在 模块化开发 开发以前,都是直接在页面上引入 script 标签来引用脚本的,当项目变得比较复杂,就会带来很多问题。JS项目中的依赖只有通过引入JS的顺序来确定,项目会变得复杂难以维护。复杂的脚本会暴露很......
  • 使用 Rancher 部署管理 K8S 集群
    目录使用Rancher部署管理K8S集群主机规划部署docker-ce(rancher)部署rancher使用Rancher部署管理K8S集群主机规划主机名称角色IP地址基础软件rancher管理k8s集群10.0.0.203docker-cemasterk8s集群主节点10.0.0.200docker-cenode1k8s集群......
  • 为什么redis使用单线程——简单说下
    redis使用单线程主要原因第一个,每条命令都是原子操作,单线程能够保证原子性。第二个原因,如果设计为多线程,肯定存在锁的竞争导致锁的获取释放开销,线程切换的开销,这与我们使用redis是相违背的。尽管redis设计为单线程,但是他的性能很高,主要原因是基于内存,以及pipeline机制都能保证redi......
  • 学生管理系统使用集合保存,不是用数据库的(仅供参考,网上找的,记录用)
    packagecom.ima;importcom.itheima.Student;importjava.util.ArrayList;importjava.util.Scanner;/*学生管理系统*/publicclassStudentManager{publicstaticvoidmain(String[]args){//创建集合对象,用于存储学生数据ArrayList<Student>a......