在工作中,或多或少的都会遇到赶工的情况,由于工作紧急,对需求的理解不到位等情况,可能在代码上做很多无用功,产生很多无用的提交,或是将工作完成后,把代码一股脑的全部提交了。提交变得非常的混乱,这时,我们需要对我们的提交进行整理!
由于我们在 A 分支上进行了太多的操作,导致 A 分支现在混乱不堪,我们无法再 A 分支上去整理我的提交,所以,我们要在最新的 master 分支上新建一个 B 分支。
- 使用
git rebase -i A 分支的前一个提交将A分支rebase到 B 分支上 - 进入编辑模式,将除了第一行提交外的所有提交前的
pack更改为squash或s :wq保存退出,完成rebase
这时,A 分支的所有提交都合并成一次提交,并 rebase 到了 B 分支上,一些重复的修改(在一次提交将 a 改为 b,在另一次提交又将 b 改回成 a)已经消失了,这样,一些无用的修改就不在分支里面展现了,接下来,我们需要对剩下的文件进行重新整理提交
- 现在 B 上已经有了一次新的提交,
git reset这次提交,并保留所有的修改到暂存区,这样 B 分支上就拥有了 A 分支的所有改动 - 根据需要选择文件(一般是根据功能或者修改的模块)依次进行提交操作就可以了,这样 B 分支上的提交就全部都是有用提交,并且清晰明了了!
这些操作虽然简单,但是操作时一定要仔细,避免把自己辛苦码的代码弄丢哦,一定要备份!
Git 提交的移动、合并、与修改
https://白日梦.cn/2018/09/04/DPBh5Z4g
评论