Git 操作篇:合并多个commit 的高级技巧
前言
在我们的日常项目开发中,git commit -m 无疑是使用最频繁的指令,这也造成了大量的commit 在我们的分支上。这样常常会带来分支过长、版本过多的问题。
正文
想要解决这个问题,我们通常会对commit 进行合并。
当我们发现两个commit 或多个commit 存在很强的关联性、并且几个commit 加起来也可以成为一个完整的描述的时候,就可以对这些commit 进行合并。
我们先来看看传统的做法,使用git rebase -i 来将前几个commit 进行合并。
实操
先用git log 查看一下历史。
比如这里有4 条commit 记录,我们想把前两条合并。
我们应该复制第三条commit 的id(从上至下),然后使用命令git rebase -i id(44c29...)
这次就会进入编辑commit 界面
上方是选中的两次commit ,下方是各种操作的指令,按i 进行编辑模式。 这里我们需要将红色区域的第二个pick 改为 s,意为向上保存
按下 ESC
键退出编辑模式,按下 :wq
保存退出,我们的commit 就算合并好了,进入预览界面。此时再次保存退出就好了。
到这步就将两次commit 合并成功了!
但每次合并都去git log -> git rebase -i 有些太过繁琐,于是我们今天的主角就来了!
配置 .zshrc
打开终端,在根目录下打开 .zshrc 文件,可以使用vscode 打开
只需要在文件的空白处输入这行代码
alias gi='_gi() { git rebase -i "HEAD~$1" };_gi'
再使用终端输入 source .zshrc
使其生效。
这个时候我们就可以使用 gi
来代替git rebase -i ,使用数字 n
说明是前几个commit.
比如 gi 2
来合并前两次commit。
完结
看到这,如果觉得本文有帮助到您,希望能留下一个大大的赞👍,感谢~
转载自:https://juejin.cn/post/7168840908434063368