git如何撤銷已經提交到遠端的commit資訊

LoadChange發表於2018-07-11

今天在修復一個Bug時太慌了,導致沒有把所有的相關模組的引用處理乾淨就直接提交了commit並push到遠端,隨後發現有問題,如果再次提交的話這個log感覺不是很爽,最後還是決定撤回合併提交。

第一步 查詢出問題的上一個版本號

git如何撤銷已經提交到遠端的commit資訊

以此圖舉例假設要重置 b55156bd515f0d2969bfcf6693b2a3d10c4906ef 的提交。

找到上一個版本號:7c60b7b25f764ee8d73735c57edeba5c6804bde2

第二步 reset 版本

執行:

 git reset --soft 7c60b7b25f764ee8d73735c57edeba5c6804bde2
複製程式碼
  1. reset 用於重置
  2. --soft 表示保留當前工作區

第三步 將重置版本推上去

目前我們本地版本已經回到了 7c60b7b25f764ee8d73735c57edeba5c6804bde2 現在是用 force 強推上去

 git push origin master --force
複製程式碼

第四步 完成修改 檢查後commit

修復完成一些列問題之後就可以再次 commit 了

git add --all
git commit -m "refactor: clean"
git push origin master
複製程式碼

第五步 完成

到這裡我們就完成了一次 commit 撤回,有的時候出了問題真的好慌,一不小心就就錯上加錯。讓我們敬畏每一行程式碼吧,隨手寫一下吸取個教訓。

相關文章