删除掉中间几次没有用或者多余的git commit,而保留最后一次的文件状态

目的:保留最后一次commit,把中间几次的commit删除掉

刚开始不熟悉git的时候改了一会就commit,或者不小心commit两次,然而其实中间很多次commit并没有必要,可以说的多余的或者说是没有用的,比如下图,中间两次commit并没有任何用处且重复了,所以我想把中间的commit删除掉,保留当前的文件内容,如果直接git reset --hard [commit ID]会把工作区的文件也恢复到那个状态。git log

刚开始用没多久,名词不太记得,某些专业名词可能叫错了,不要介意,请帮忙斧正

所以正确(不敢说正确但是一定可行)的方案如下:

# 1.先查看你曾经commit过的ID
git log --pretty=oneline
# 2.恢复到`解决从下位机接收浮点数的通讯协议`这个状态(最后的参数就是你要恢复到的那个状态前的ID)
git reset --soft fabe64b976......
# 3.文件内容并不会改变,但是当前HEAD指针指向的状态就是【解决从下位机接收浮点数的通讯协议】,此时就可以commit了
git commit -m "解决PC与下位机串口数据收发问题"

这里的关键就是--soft
–hard 会直接把暂存区和工作区的内容全部更新,导致当前文件内容也会被恢复到之前的状态,而–soft,只移动HEAD指针,文件内容并不会发生改变。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值