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
posted @ 2022-06-29 16:43  coubusier  阅读(185)  评论(0)    收藏  举报