如何撤銷掉已經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