刚开始不熟悉git的时候改了一会就commit,或者不小心commit两次,然而其实中间很多次commit并没有必要,可以说的多余的或者说是没有用的,比如下图,中间两次commit并没有任何用处且重复了,所以我想把中间的commit删除掉,保留当前的文件内容,如果直接git reset --hard [commit ID]
会把工作区的文件也恢复到那个状态。
刚开始用没多久,名词不太记得,某些专业名词可能叫错了,不要介意,请帮忙斧正
# 1.先查看你曾经commit过的ID
git log --pretty=oneline
# 2.恢复到`解决从下位机接收浮点数的通讯协议`这个状态(最后的参数就是你要恢复到的那个状态前的ID)
git reset --soft fabe64b976......
# 3.文件内容并不会改变,但是当前HEAD指针指向的状态就是【解决从下位机接收浮点数的通讯协议】,此时就可以commit了
git commit -m "解决PC与下位机串口数据收发问题"
这里的关键就是--soft
–hard 会直接把暂存区和工作区的内容全部更新,导致当前文件内容也会被恢复到之前的状态,而–soft,只移动HEAD指针,文件内容并不会发生改变。