1. 程式人生 > 其它 >git撤銷已經push的提交

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