git rebase 操作小技巧

386 阅读3分钟

为什么要写这篇文章?

在项目开发的时候就讨论过很多次,尤其是组内成员越来越多共同开发的项目工程体积也越来越大,这个时候就要考虑优化了。我在开发的时候也是经常遇到由于项目体积过大带来的烦恼,举个例子:一个工程下边可能会有10个或者n+个项目,并且每次开发都会有n个commit信息记录,都合并到主分支之后整个项目工程会越来越大,当然我们可以将一些没有用的项目文件删除掉,但是有个问题就是虽然我们可以删掉这个文件,可是commit信息还在,所以工程的体积并没有变小很多,我们在git clone 拉代码的时候就会浪费很多的时间,后来组内一大佬提出来了使用git rebase命令来优化我们的提交记录,我在使用之后发现确实很好用,所以分享给各位有同样困扰的同学。

git rebase有什么用?

git rebase 可以优化我们的commit信息,也可以将n条冗余的垃圾提交合并,让我们的提交记录看着更加简洁清爽; 举个例子:五个人或者更多的人在同时开发维护一个项目,每个人的分支下面可能会有十个或者有n多条commit信息,然后我们的代码测试通过了进行合并发布的时候,你的老大发现我草就一个这么小的东西怎么会有这么多的commit,这个时候虽然我们可以解释但是总归会不太好对不对;

比如下边这个图片,这还是好的,如果我们的修改越来越多commit信息也会越来越多这个时候git rebase的作用就显现出来了

git rebase 用法

使用之前我们可以先git log一下,查看一下自己的commit记录 比如我们想要合并前三条的信息: git rebase -i HEAD~3 会出现下边这个信息,使用vim的命令操作修改将后两行的pick 修改为 s 表示合并到第一行commit记录中,如果commit 记录比较少可以手动修改;
ps:最开始我也是手动修改的,还不太熟练vim的命令,各位可以使用vim的命令操作简直顺滑的不要不要的;

set number // 查看行数
// 比如修改第二跟第三行的pick命令
2,3/pick/s // 回车即可修改 // 接下来可以使用
wq // 保存退出会出现下边的内容

// 同样的删除也可以使用vim 命令 set number // 查看一下行数 5,12d // 回车即可 wq // 保存退出 git log //这个时候会发现我们多余的commit记录信息神奇的消失了

以上操作结束之后,就会发现我们的代码记录简洁清爽了很多。

参考内容:
史上最全的Vim命令
vim 查找替换 和高级应用 vim的多行注释和替换
使用git rebase 合并多次commit