开启生长之旅!这是我参加「日新方案 12 月更文应战」的第1天,点击检查活动详情

前言

在咱们的日常项目开发中,git commit -m 无疑是运用最频繁的指令,这也造成了大量的commit 在咱们的分支上。这样常常会带来分支过长、版别过多的问题。

正文

想要解决这个问题,咱们通常会对commit 进行兼并。

当咱们发现两个commit 或多个commit 存在很强的关联性、并且几个commit 加起来也能够成为一个完好的描述的时分,就能够对这些commit 进行兼并。

咱们先来看看传统的做法,运用git rebase -i 来将前几个commit 进行兼并。

实操

先用git log 检查一下前史。

Git 操作篇:合并多个commit 的高级技巧

比如这里有4 条commit 记录,咱们想把前两条兼并。

咱们应该仿制第三条commit 的id(从上至下),然后运用命令git rebase -i id(44c29…)

这次就会进入修改commit 界面

Git 操作篇:合并多个commit 的高级技巧

上方是选中的两次commit ,下方是各种操作的指令,按i 进行修改形式。
这里咱们需要将赤色区域的第二个pick 改为 s,意为向上保存

Git 操作篇:合并多个commit 的高级技巧

按下 ESC 键退出修改形式,按下 :wq 保存退出,咱们的commit 就算兼并好了,进入预览界面。此时再次保存退出就好了。

Git 操作篇:合并多个commit 的高级技巧

到这步就将两次commit 兼并成功了!

但每次兼并都去git log -> git rebase -i 有些太过繁琐,于是咱们今天的主角就来了!

配置 .zshrc

翻开终端,在根目录下翻开 .zshrc 文件,能够运用vscode 翻开

Git 操作篇:合并多个commit 的高级技巧

只需要在文件的空白处输入这行代码

alias gi='_gi() { git rebase -i "HEAD~$1" };_gi'

Git 操作篇:合并多个commit 的高级技巧

再运用终端输入 source .zshrc 使其生效。

Git 操作篇:合并多个commit 的高级技巧

这个时分咱们就能够运用 gi 来代替git rebase -i ,运用数字 n 说明是前几个commit.

比如 gi 2 来兼并前两次commit。

Git 操作篇:合并多个commit 的高级技巧

完结

看到这,如果觉得本文有协助到您,期望能留下一个大大的赞,感谢~