您当前的位置: 首页 > 学无止境 > 心得笔记 网站首页心得笔记
17 怎样把连续的多个commit整...
发布时间:2020-07-12 19:33:12编辑:雪饮阅读()
先看当前log中有哪些commit
这里就把6、5、4、3这几个commit合并吧,则和之前变基一样,这里就用3后面的2的commit的id进行变基操作,则有如下命令会触发第一次交互
xy@DESKTOP-BG9HNHK MINGW64 ~/Desktop/web/web3 (master)
$ git rebase -i c19e861a94e3f4c125abbf8ab326a0c0eea38afd
在这里提示的指令中squash适合我们目前的需求,其简写为s,并且目前我们要合并的是6543,所以要在6543中随便找一个做为最终存储这6543合并的结果,这里就以3为6543最后的合并结果存储,而这里有出现7,则7可以忽略不处理,则有
然后保存退出就会出现第二次交互,此时只需要在首行插入本次合并的备注即可
最后再次保存退出就合并完成了
xy@DESKTOP-BG9HNHK MINGW64 ~/Desktop/web/web3 (master)
$ git rebase -i c19e861a94e3f4c125abbf8ab326a0c0eea38afd
[detached HEAD 35edc28] 6543合并
Date: Sun Jul 12 19:09:12 2020 +0800
4 files changed, 0 insertions(+), 0 deletions(-)
create mode 100644 3.txt
create mode 100644 4.txt
create mode 100644 5.txt
create mode 100644 6.txt
Successfully rebased and updated refs/heads/master.
然后再次查看log会发现,合并后就是原来的7+现在的6543+原来的1、2
对比总结
对比总结发现合并前后,首先由于6543这几个中间层合并产生了新的id代替了原来的6543各自的id,而原来的7依赖于6,6又被新的6543代替了,所以原来的7也就重新依赖现在的6543,那么现在的7的id也就重新生成了,至于2和1则仍旧保持原状,虽然原来的7和现在的7都是指向master,但是id则是完成不同的,可以说是两个不同的指针,而master直接应用了新的7的指针。
关键字词:git,commit,合并,连续