第一种最简单的是使用
git commit --amend
它的作用是使本次commit和上一次commit合并在一块。也可以用它只修改上一次提交的log。
用上一章我们讲过的rebase可以实现很多需求:
git rebase -i HEAD~3
我们先不考虑-i
我们先回顾一下git rebase
我们知道git rebase <branch>的意思是将当前分支rebase到<branch>,它其实相当于git rebase <branch> HEAD,HEAD就是当前所在的那个commit(或者说当前分支)。它实际上的行为是将<branch>..HEAD rebase 到 <branch>(注:A .. B在Git中的意思是B中含有的而A中不含有的那些commits,如下图)。
对于git rebase HEAD~3,
也就是说它等于git rebase HEAD~3 HEAD
(注1:这里HEAD~3的意思是HEAD往回走3个comm

本文介绍了如何使用Git的rebase和filter-branch命令改写提交历史。通过实例详细解释了如何合并提交(squash),拆分提交(split),以及如何删除大文件以减小仓库体积。同时,提到了交互式rebase(i)的使用,包括pick、reorder、edit和squash等操作。
最低0.47元/天 解锁文章

被折叠的 条评论
为什么被折叠?



