如何回退未push的commit?

发布时间 2023-05-04 14:45:14作者: 一杯龙井解千愁

如何回退未push的commit?教你一招,简单好用

当你写完代码,提交了commit后,才发现分支错了,或者是下面这种情况(其他小伙伴协同开发,在一个分支上push了代码,但你不清楚,在未pull的情况下,先commit了你的代码),当你push代码时,会有以下报错:

 提示让你merge,先别管他,此时去看一看git仓库,发现是有人前面偷偷提交了代码,所以,我们要将commit同步一下,首先:

 git reset --soft HEAD^:这一步,相当于将你的commit同步到你本地的最初状态,但是本地修改的代码还是被暂存下来了,不会丢失,可以看下状态:

 提示你git pull:

 git pull 又提示有代码需要merge,不要紧,你将它stash暂存一下:

 然后再git pull,与远程同步代码:

 此时,别忘了,取出暂存区的代码:

 注意:我只有一个暂存,所以直接用的pop(全部取出),如果不需要全部,但也可以单个取出,我的另一篇文章有讲,具体不在这里讲述(链接:https://www.cnblogs.com/wx3091/p/13578887.html)。

然后我们终于解决了冲突,并且与远程代码保持了一致,此时我们再提交本地代码,就不会报错了。