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 featureGit 会找出 feature 中存在、main 中不存在的提交 D、E,然后重新应用到 C:
text
A---B---C---D'---E' featureD'、E' 是新提交,不是原提交的简单移动。
Git 提交哈希受以下内容影响:
text
文件树
父提交
作者信息
提交者信息
时间
提交说明因此,即使代码内容相同,只要父提交发生变化,提交哈希就会变化。
