本文转自我的博客整合多个 Git 提交为一个
一般写代码, 往往很多人有个习惯就是有了小改动就提交 push, 以免代码丢失. 但这样容易产生太多的提交, 对于代码合并者是个头疼的事.
所以, 如果要合并多个提交为一个怎么做?
这个操作的术语叫 squash(压扁).
可以用 Git rebase -i 但是容易出现问题, 且较繁琐, sourcetree 的界面操作的也是这一种, 仍然不方便.
还可以用 reset, 比较简便:
- Git reset HEAD~5
- Git add .
- Git commit -am "some new commit message"
- Git push --force
这种方式只能从当前提交合并之前的 n(示例中为 5) 个提交.
来源: http://www.jianshu.com/p/d86d8b2ab0af