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


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM