有的时候我们修改一个小bug就会提交,多次提交会使留下的历史提交信息多而杂,当我们想要将他们的提交信息合并成一个提交信息时,就需要使用这个git 命令行了。
git rebase -i commitId
首先我们以具体事例来进行演示,需求是:我想要将最近四次提交的commit 合并成一次的提交commit点。
第一步:查看我们的提交日志
git 命令是:git log
我们要注意一个点,最新的提交记录会在最上方
第二步:开始合并
git 命令:git rebase -i commitId
这里的commitId 指的是合并这四次的前一项提交ID,也就是说我们合并这四项,那么这个commitId就是3205f009ce086b5c10bb8c955d885af6e7db4966,那如果我们想合并第三次和第四次的修改,那我们的commitId就是第二次的id,也就是 b36839006122c824921b94757c1570bd867bcaa2。
其中 -i 的参数是不需要参与合并的commit的id值。
所以,我在git 命令行中输入
git rebase -i 3205f009ce086b5c10bb8c955d885af6e7db4966
第三步:选择你的操作
执行上一步,会出现
这时进入可编译模式,可以先看提醒部分,然后敲i进入编译模式,可以根据自己需要选择。
- pink ----会执行这个commit
- reword ----使用commit,但是编辑commit消息
- edit ----使用commit,但是停止修改
- squash ---- 这个commit会合并到上一个commit
- fixup ----类似于“squash”,但丢弃此提交的日志消息
可以简写。
修改完之后,esc退出,冒号,输入wq,回车
第四步:进入commit message编辑界面
这时你可以修改合并后需要commit的信息,如果不修改的话,就会将这四次的commit信息合并到一起用逗号隔开,这里我不再修改,直接默认状态。跟上步一样操作,esc,冒号,输入wq,回车
第五步: 显示成功
第六步: 再次查看提交日志
你会发现,前四次的修改合并成一个commit点了。
结束,祝大家今天快乐