git撤销已经push的提交

如何撤销掉已经git push到remote的提交

Git上有时候推送之后之后发现代码还有一点小修改,但是这些修改又不足以作为一次新提交,应该怎么办呢?

其实原则上是不能撤销已经推上去了的提交的,只能在本地撤销之后强制push到远端,步骤如下:

1.撤销本地提交信息

git log查看提交信息,获取需要回退到的版本号
image

想要撤销的是“测试撤销push”这个提交,因此需要回退到的版本是“重命名Day08_03”,记下来版本号6b418bf0840a9024f610609b320cf7bf4d24cbe4

然后git reset --soft <版本号>
git reset --soft 6b418bf0840a9024f610609b320cf7bf4d24cbe4
--soft选项的意思是,保留当前工作区,以便于我们修改完之后重新提交。如果采用--hard,那么会还原到对应的版本,我们就不能达成“撤销提交,修改一点点之后重新提交并推送”的目的了。

再次git log确认一下:
image
可见在本地已经撤回到“重命名Day08_03”版本

2.强制推到远端

git push origin master --force强制提交当前版本号。
如果不加--force,会因为本地版本号低于远端仓库版本号而无法推送

3.修改代码,重新提交推送
	//修改代码
	git add .
	git commit -m "测试撤销push"
	git push origin master
posted @ 2021-11-24 11:36  fatalfake  阅读(14314)  评论(0编辑  收藏  举报