git撤銷已經push的提交
阿新 • • 發佈:2021-11-24
如何撤銷掉已經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