Git 学习笔记 rebase变基 (整理提交历史

Git 命令行操作

此命令可用于整理 commit 比如本地编码时,一个功能为了保留详细的工作进度,提交了多次。 push 之前把这些提交合并成一次,从新针对此功能模块编写一份注释,这更有利于别人阅读。

大概流程
执行 rebase 时告诉它把谁变成基。记得加上 -i 开启交互。

  1. 指定一个版本号红色,把长后面黄色提交进行整理。
  2. 编辑、删除、合并都可以。
  3. 完成后重新写备注
  4. 最后整个黄色框标出的提交就变成1个了

在这里插入图片描述

语法

支持指定一个范围,进行整理。

  • i 开启交互操作。才会有让你选择的步骤。
git rebase -i [startpoint] [endpoint]

撤销

先查看日志

git reflog

再 reset 到 rebase之前的版本号即可

$ git reset --hard xxxxxxx

IDEA 操作

对于本地的 rebase操作是将多次commit合并成一个。(相对于更新时的 Rebase操作,是将本地commit接在远端commit之后)
需要将1、2两次提交合并成 1
在这里插入图片描述
将commit 5dcfa1d 的动作改为squash
在这里插入图片描述
确认后,可以修改日志信息。
在这里插入图片描述
完成后结果如下。注意看id,之前的两次commit被合并后,生成了一个新的commit
在这里插入图片描述

参考资料

git-scm git-rebase
git-scm 3.6 Git 分支 - 变基
码云 Pro Git(中文版)—— 3.6 分支的衍合
Git 学习笔记 修改上一次提交

Logo

北京人形旗下天工造物具身智能开源社区,聚焦具身天工与慧思开物两大平台

更多推荐