Git学习笔记7:将间隔的几个commit合并成一个

这篇博客介绍了如何使用Git将连续的几个commit合并成一个。通过查看commit信息,使用git rebase进入交互式修改模式,移动commit并修改操作,然后继续rebase,最后验证合并操作的成功。该过程涉及对commit id的掌握和交互式窗口的操作。
摘要由CSDN通过智能技术生成

先查看下当前分支的commit信息

git log --graph

commit信息如下

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-FNklf5Jp-1577089591236)(evernotecid://621D2FF6-4E72-4E02-9043-55F31F42819B/appyinxiangcom/22553815/ENResource/p1001)]

这里将commit ID 为e7dc4b3debab6c61e7a190f96df57662f666d538db35f24346b83018368daebd9f93ba1dc85c4448合并成一个commit

操作步骤

根据Commit Id 进入交互式修改

使用命令:

git rebase -i commitId

由于这里e7dc4b3debab6c61e7a190f96df57662f666d538是比较老的commit,所以这的commitId取e7dc4b3debab6c61e7a190f96df57662f666d538就可以了。
即:

git rebase -i e7dc4b3debab6c61

弹出交互式窗口:

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-IECIRoqC-1577089591237)(evernotecid://621D2FF6-4E72-4E02-9043-55F31F42819B/appyinxiangcom/22553815/ENResource/p1002)]

修改操作

然后发现这里并没有e7dc4b3debab6c61e7a190f96df57662f666d538这个commit,所以将这个commitId添加到这个里面,然后将db35f24346b83018368daebd9f93ba1dc85c4448这个commit 移动到e7dc4b3debab6c61e7a190f96df57662f666d538的下面,并将其操作修改为s或者squash.

注意:移动完以后,要将之前的 db35f24346b83018368daebd9f93ba1dc85c4448删除

修改完以后如下:

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-AVgS0KJ1-1577089591238)(evernotecid://621D2FF6-4E72-4E02-9043-55F31F42819B/appyinxiangcom/22553815/ENResource/p1003)]

保存以后发现有如下提示信息:
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-EfW2o4ZD-1577089591238)(evernotecid://621D2FF6-4E72-4E02-9043-55F31F42819B/appyinxiangcom/22553815/ENResource/p1004)]

查看 git 状态

查看下此时git的状态

git status

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-6pdTE9mn-1577089591239)(evernotecid://621D2FF6-4E72-4E02-9043-55F31F42819B/appyinxiangcom/22553815/ENResource/p1005)]

继续git rebase

发现此时要继续合并,需要命令:

git rebase --continue

然后就到了squash界面。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-B19ZTOAz-1577089591239)(evernotecid://621D2FF6-4E72-4E02-9043-55F31F42819B/appyinxiangcom/22553815/ENResource/p1006)]

在这里再增加一些 commit 消息

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-RmJX8k7H-1577089591239)(evernotecid://621D2FF6-4E72-4E02-9043-55F31F42819B/appyinxiangcom/22553815/ENResource/p1007)]

保存后提示操作成功!

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-cxtJrtdn-1577089591240)(evernotecid://621D2FF6-4E72-4E02-9043-55F31F42819B/appyinxiangcom/22553815/ENResource/p1008)]

验证是否操作成功

执行命令

git log --graph

发现操作成功

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-eIp7UNlG-1577089591240)(evernotecid://621D2FF6-4E72-4E02-9043-55F31F42819B/appyinxiangcom/22553815/ENResource/p1009)]

注意:这里是模仿e7dc4b3debab6c61e7a190f96df57662f666d538是最后一个commit Id 的操作,其实这里可以在使用git rebase -i commitId时,commitID 可以取 e7dc4b3debab6c61e7a190f96df57662f666d538的父级commitID,这样就可以不用在rebase的交互式页中写e7dc4b3debab6c61e7a190f96df57662f666d538而是直接移动和修改db35f24346b83018368daebd9f93ba1dc85c4448就可以了。

  • 1
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值