git撤销已经push的提交
如何撤销掉已经git push到remote的提交
Git上有时候推送之后之后发现代码还有一点小修改,但是这些修改又不足以作为一次新提交,应该怎么办呢?
其实原则上是不能撤销已经推上去了的提交的,只能在本地撤销之后强制push到远端,步骤如下:
1.撤销本地提交信息
git log查看提交信息,获取需要回退到的版本号
想要撤销的是“测试撤销push”这个提交,因此需要回退到的版本是“重命名Day08_03”,记下来版本号6b418bf0840a9024f610609b320cf7bf4d24cbe4
然后git reset --soft <版本号>
git reset --soft 6b418bf0840a9024f610609b320cf7bf4d24cbe4
--soft选项的意思是,保留当前工作区,以便于我们修改完之后重新提交。如果采用--hard,那么会还原到对应的版本,我们就不能达成“撤销提交,修改一点点之后重新提交并推送”的目的了。
再次git log确认一下:
可见在本地已经撤回到“重命名Day08_03”版本
2.强制推到远端
git push origin master --force强制提交当前版本号。
如果不加--force,会因为本地版本号低于远端仓库版本号而无法推送
3.修改代码,重新提交推送
//修改代码
git add .
git commit -m "测试撤销push"
git push origin master