Git rebase 使用
个人使用场景:合并当前分支的多个commit记录
如图所示,一个需求对应一个分支,该分支上有多次提交记录(业务变更,有事暂存代码),如果合并到远程就会有A、B、C、D四个记录,现在只想有一条记录,如何处理?

Git 执行命令
第一步 rebase
HEAD 后接的数就表示需要合并多少条commit(此处是最新的commit)
git rebase -i HEAD~4

第二步 squash
把 BCD 的前面的pick 改为 s
esc : wq

第三步 修改注释

esc : wq
结果
此时新的记录就会变成如下场景:

右下角产生变化,如下

其他
git rebase -i HEAD~4
HEAD 后接的数就表示需要合并多少条commit(此处是最新的4条commit)
git rebase -i [startPonit] [endPoint]
- 前开后闭 区间 这里的 [startPonit] 是指需要合并的commit的前一个commit (即当前示例中的 “4cb600e: feat: modify a”)。 因为, 三个commit肯定要基于上一个commit合并成了新的commit。
- 谨慎使用[endPoint] 省略, 即默认表示从起始commit一直到最后一个,但是一旦你填写了, 则表示 [endPoint]后面的commit全部不要了!
本文介绍了如何使用Git rebase命令合并多个commit为一条记录,以保持提交历史的整洁。步骤包括rebase交互模式启动,选择squash操作,以及修改合并后的commit信息。通过这种方式,可以将原本的A、B、C、D四个记录合并成一个单独的提交。

1086

被折叠的 条评论
为什么被折叠?



