首页 > 其他分享 >git rebase 的作用

git rebase 的作用

时间:2025-01-07 10:44:41浏览次数:7  
标签:git rebase 合并 squash 提交 pick 作用

一、作用:

  • 清理提交历史‌:当在开发过程中频繁提交(如修复小的编译错误或调试输出),并希望将这些提交合并为一个更有意义的提交时,可以使用Git Rebase。
  • ‌在共享分支上保持历史线性‌:在团队协作中,如果你正在一个需要保持清晰线性历史的分支(如master或main分支)上工作,Git Rebase可以帮助你在将更改推送到远程仓库之前整理你的提交历史。
  • ‌避免不必要的合并提交‌:Git Merge会在合并分支时创建一个新的合并提交,而Git Rebase则不会。在某些情况下,避免合并提交可以使项目历史更加简洁。

二、使用:

  1. 确定你想要 rebase 的提交范围。

  2. 使用 git rebase -i 命令,后面跟着你想要 rebase 的提交的初始点。

  3. 在打开的编辑器中,你将看到一个提交列表,每个提交前都有一个命令。通常,提交会被标记为 pick

  4. 要合并提交,将除了你想保留为 pick 之外的所有 pick 命令改为 squash 或简写为 s

  5. 保存并关闭编辑器,git 将开始 rebase 操作,并将所有标记为 squash 的提交合并到前一个提交中。

  6. 如果需要,解决冲突。

  7. 完成 rebase 后,你可能需要使用 git commit --amend 来修改合并后的提交消息。

例子:

假设你有一个看起来像这样的提交历史:

A - B - C - D - E

你想要将 B, C, D 合并到一个新的提交中。你可以这样做:

执行 git rebase -i HEAD~4(这里的 4 是要 rebase 的提交数,不包括初始点)。

在编辑器中,你会看到类似这样的列表:

pick B
pick C
pick D
pick E

将除了第一个 pick 之外的所有 pick 改为 squash

pick B
squash C
squash D
squash E

保存并关闭编辑器,如果需要,修改合并后的提交消息。

完成 rebase 并将更改推送到远程分支(如果需要)。

注意:在进行 rebase 操作时,请确保没有其他人正在使用你正在 rebase 的分支,因为这会改变历史。如果已经将更改推送到远程分支,则需要强制推送(例如 git push origin your-branch-name --force),这可能会影响其他协作者。

标签:git,rebase,合并,squash,提交,pick,作用
From: https://www.cnblogs.com/94pm/p/18657109

相关文章

  • 使用RapidAPI和Github Actions进行API测试
    RapidAPI操作注册官网:https://rapidapi.com/注册成功后登录新建API新建请求以接口:https://www.thunderclient.com/welcome为例新建测试套件点击RequestGenerator和Addtotest添加断言保存并运行详细报告Github操作访问Github,新建仓库新建工作流文......
  • 你有使用过esbuild-loader吗?请说说它的作用
    esbuild-loader是一个构建在esbuild上的webpackloader,它的主要作用是提升前端项目的构建速度。具体来说,esbuild-loader可以替代传统的babel-loader或ts-loader,通过利用esbuild的高效性能来加快JavaScript和TypeScript文件的编译速度。以下是esbuild-loader的主要作用和特点:提......
  • js WeakMap 作用和使用
    WeakMap是JavaScript中的一种键值对集合,类似于Map,但它有一些独特的特性,特别是关于其键的引用方式。WeakMap的键只能是对象,并且这些键是以弱引用的方式持有的。这意味着如果一个对象只被WeakMap引用而没有其他强引用,那么这个对象可能会在任何时候被垃圾回收。因此,WeakMap适......
  • 无线通信中调制和解调的作用
    无线通信中的调制和解调是核心技术,关系到信号如何在无线信道中可靠、高效地传输和还原。在无线通信中,调制用于将信息嵌入到高频载波信号中传输,解调用于从接收到的载波信号中提取信息。以下是无线通信中调制和解调的详解:1.无线通信中调制的作用在无线通信中,调制的主要作......
  • git提交代码
    查看项目状态:使用gitstatus命令查看项目当前的提交状态。添加文件到本地仓库:使用gitadd命令将文件添加到本地仓库。你可以添加单个文件或者使用通配符添加多个文件。命令格式如下:“gitadd<文件名>“例如:“gitaddindex.html“或者“gitadd*“提交代码:使用git......
  • 搭建gitlab私有仓库
    1、下载gitlab首先在/etc/yum.repos.d/目录下配置gitlab下载镜像源。#进入目录/etc/yum.repos.d/cd/etc/yum.repos.d/#创建文件gitlab-ce.repovimgitlab-ce.repo#添加以下内容[gitlab-ce]name=gitlab-cebaseurl=https://mirror.tuna.tsinghua.edu.cn/gitlab-c......
  • docker-compose的nginx更换完ssl证书不起作用的完美解决方法.240109
    ​以Harbor为例,ssl证书更新后,docker-compose启动不起作用。问题出在一句很重要的命令:./prepare步骤:(Harbor样例)1.cd/data/ssl换ssl证书Harbor.ymlssl证书部分:#ConfigurationfileofHarbor#TheIPaddressorhostnametoaccessadminUIandregistryservice.#......
  • docker安装指定版本的gitlab并配置ssl证书.240109
    安装gitlab,指定14.5.2版本,为便于与下篇文章:gitlab恢复做准备。如果不需要恢复,或不需要配置ssl证书,请自行精简以下操作。1.开启gitlabshgitlab.shdockerrun-d\--privileged=true\--hostnamexxx.xxx.xxx.xxx\--publish443:443--publish80:80--publi......
  • openEuler欧拉安装Gitlab.240109
    1.安装GitLabwgethttps://packages.gitlab.com/install/repositories/gitlab/gitlab-ce/script.rpm.shsudoos=eldist=8bash./script.rpm.shsudoEXTERNAL_URL="http://xxx.xxx.xx.xx"yuminstall-ygitlab-ce2.查启动状态,等待个二十来分钟gitlab-ctltail3.关......
  • Git 常用命令及其使用场景
    Git常用命令及其使用场景Git是分布式版本控制系统,以下是常用命令及其典型使用场景:1.基础操作命令命令描述使用场景gitinit初始化一个新的Git仓库新建项目并开始使用Git进行版本控制时。gitclone<repo_url>克隆远程仓库到本地获取已有的Git仓库到本地进行开发。......