热门标签 | HotTags
当前位置:  开发笔记 > 开发工具 > 正文

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

目的:保留最后一次commit,把中间几次的commit删除掉刚开始不熟悉git的时候改了一会就commit,或者不小心commit两次,然而其实中间很多次commit并没有必要,

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

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

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

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

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

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


推荐阅读
author-avatar
笼-中鸟
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有