前言
当我们开发一个功能,不是一时半会可以完成的时候,为了保护代码不丢失,通常会把这次的修改先 commit,等到这个功能完全做好,再 push。不过这样一来,就会有很多零碎的 commit 记录,这会使远程的提交历史显得杂乱。
必要的时候,我们需要将这些相近的 commit 合并为一个 commit 再 push。当然了,如果你想合并远程的 commit 也是可以的,但请一定要提前跟团队里的其他人说一声,免得有人也在跟你做同样的事情,导致没必要的代码冲突(所以合并 commit 尽量在 push 前)。
操作步骤
1. git log 查看commit节点id
git log --oneline
我喜欢在 log 的时候,带上参数 `--oneline` ,它可以让你的 commit log 在一行输出,比较紧凑,coimmit id 也以简短的位数展示,便于查看。
找到你要保留的那条 commit 的上一条 commit,复制这条 commit 的 id。记住一定要是目标提交的上一次提交记录,这样可以保证你要保留的那一条 commit 出现在 pick 清单的顶部,这非常重要。
2. git rebase 变基
git rebase -i [commit_id]
`[c