Git reabase 使用场景
Rebase = 变基,通俗理解就是"把我的修改接在最新代码后面"。
用图说明:
假设你本地有提交 C,远程有新提交 D:
远程: A → B → D
本地: A → B → C
git pull(merge 方式): 产生一个新的合并节点
A → B → D → M(merge commit)↑C
git pull --rebase: 把 C 接在 D 后面,历史是一条直线
A → B → D → C'
三种模式对比:
| 模式 | 命令 | 效果 |
|---|---|---|
| merge(默认) | git pull |
产生 merge commit,会弹 vim |
| no-ff | git pull --no-ff |
强制产生 merge commit,必弹 vim |
| rebase | git pull --rebase |
历史线性,不弹 vim |
对个人小项目服务端场景来说: 服务器上一般只拉代码、不在上面开发,用 rebase 最合适,历史干净,也不会弹 vim。
