合并已提交的部分分支
演示将倒数第三次提交合并到倒数第四次提交上
查看当前日志
git log
合并最后4次提交git rebase -i HEAD~4
(从最后一次提交合并到倒数第5次提交,但是不包括倒数第5次 commit,【注意】此时还未真正合并,以下两图演示如何合并)
【补充】
git rebase -i [start] [end]
start 和 end 分别为要合并的 commit 的开始/结束的 hash (包头去尾),一般 end 不写的话默认是 HEAD(最后一条commit的哈希值)
- ↑ 修改完 pick 为 s 之后,
esc
退出编辑模式- 输入
:wq
保存并退出, - 会出现下图界面 ↓ ,
- 删除被合并记录的 commit 文字
esc
退出编辑模式- 同样输入
:wq
保存并退出
以上操作之后 git log
查看日志,会看到,倒数第三次提交应被合并到倒数第四次提交上(之前有两个 feat:借助react-redux中provider/connect方便读取/更新store中数据
提交记录,现在只有一个)
如果合并的记录之前提交到了远程,则合并完成后主要将合并之后的记录重新提交到远程 git push -f
合并过程中可能会出现的情况
git 会压缩提交历史,如果冲突,需要进行修改,修改的时候保留最新的历史记录,修改完之后输入以下命令:
git add .
git rebase --continue
若想退出放弃此次压缩,执行命令:
git rebase --abort
同步到远程 git 仓库
输入:git push -f
或者 git push --force
查看远程仓库效果,多次 commit 已被合并成一次 commit。