Git 合并commit

对一个仓库进行了多次提交,提交信息很多,需要将提交的信息合并,例如对如下的三条提交记录进行合并
在这里插入图片描述
切换到dev分支后,执行命令

git log .

查看需要合并的提交记录,然后执行合并命令

git rebase -i HEAD~3

其中HEAD~3表示合并最近三次的提交,如果是需要对之前某几次的提交进行合并,则执行命令

git rebase -i <commit_start 不含> <commit_end 含>

commit_start和commit_end表示的是提交的commit ID,commit_start表示开始的commit,不包含commit_start本身,commit_end表示截止的commit,包含commit_end本身,commit ID无需输入全部,输入部分即可。例如我们的需求中可以输入

git rebase -i 424bbe301394197d 97fe7dbb98848

显示结果如下
在这里插入图片描述
含义解释如下

pick:保留该commit(缩写:p)
reword:保留该commit,但我需要修改该commit的注释(缩写:r)
edit:保留该commit, 但我要停下来修改该提交(不仅仅修改注释)(缩写:e)
squash:将该commit和前一个commit合并(缩写:s)
fixup:将该commit和前一个commit合并,但我不要保留该提交的注释信息(缩写:f)
exec:执行shell命令(缩写:x)
drop:我要丢弃该commit(缩写:d)

基本使用中主要用s和p,一般都直接整合到第一次提交上,修改如下
在这里插入图片描述
保存退出后提示信息如下
在这里插入图片描述
这里可以修改为合并后需要的提交信息,修改如下,完成后再次保存退出。
在这里插入图片描述
保存退出后git log显示如下
在这里插入图片描述
然后使用命令

git push -f

将修改推送到远程服务器dev分支
在这里插入图片描述

如果想修改之前的某两次提交,例如有五次提交,分别为: 1 2 3 4 5
commit 5
commit 4
commit 3
commit 2
commit 1
希望将2和3合并,变为1 2 4 5,执行如下命令

git rebase - i commit_id_1

执行结果如下
在这里插入图片描述
将3的pick改为s,然后保存退出后重新填写commit msg,最后执行git push -f推送到远程分支

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值