Git rebase合并多个commit
将开发分支合并到master分支时,为了保持历史commit的简洁,可以使用rebase将多个commit合并成一个。
# 从HEAD开始数到多去的3个版本
git rebase -i HEAD~3
# rebase到指定版本
git rebase -i [commit_id]
假设有三个历史提交:

我们需要将 2dfbc7e8 和 c4e858b5 合并成一个 commit,那么我们输入如下命令:
git rebase -i f1f92b
其中,-i 的参数是不需要合并的 commit 的 hash 值,这里指的是第一条 commit,接着我们就进入到 vim 的编辑模式。

将 c4e858b5 这个 commit 前方的命令改成 squash 或 s,然后输入:wq以保存并退出。

接下来会看到 commit message 的编辑界面:

输入wq保存并推出, 再次输入git log查看 commit 历史信息。
使用如下命令推到远程分支。
git push origin HEAD:branch_name -f

浙公网安备 33010602011771号