Skip to content

Git Rebase 全场景 API 指南:命令、参数、示例与安全边界

git rebase 用于重新定位、重放和整理一组提交。它可以把功能分支移动到新的基点,也可以修改提交顺序、合并提交、拆分提交或重建分支结构。

本文从 Git API 的角度介绍 rebase 的主要命令、参数、执行效果和适用场景。

一、基础语法

Rebase 主要有三组调用形式:

bash
git rebase [options] <upstream> [<branch>]

git rebase --onto <newbase> <upstream> [<branch>]

git rebase --continue
git rebase --abort
git rebase --skip
git rebase --quit

最常见的命令是:

bash
git switch feature
git rebase main

也可以直接指定目标分支:

bash
git rebase main feature

第二种写法会先操作 feature,再把它 rebase 到 main。

二、普通 Rebase 的工作原理

假设提交历史如下:

text
A---B---C  main
     \
      D---E  feature

执行:

bash
git rebase main feature

Git 会找出 feature 中存在、main 中不存在的提交 D、E,然后重新应用到 C

text
A---B---C---D'---E'  feature

D'、E' 是新提交,不是原提交的简单移动。

Git 提交哈希受以下内容影响:

text
文件树
父提交
作者信息
提交者信息
时间
提交说明

因此,即使代码内容相同,只要父提交发生变化,提交哈希就会变化。

三、Rebase 与