git 怎樣刪除遠程倉庫的某次錯誤提交?

假設你有3個commit如下:

commit 3
commit 2
commit 1

其中最後一次提交commit 3是錯誤的,那麼可以執行:

git reset --hard HEAD~1

你會發現,HEAD is now at commit 2

然後再使用git push --force將本次變更強行推送至服務器。這樣在服務器上的最後一次錯誤提交也徹底消失了。

值得注意的是,這類操作比較比較危險,例如:在你的commit 3之後別人又提交了新的commit 4,那在你強制推送之後,那位仁兄的commit 4也跟着一起消失了。

b00cc5a是git上提交的番號,想退到哪裏就寫哪裏。


iosdeMac-mini-2:ZZV2ex ios$ git reset b00cc5a

iosdeMac-mini-2:ZZV2ex ios$ git push --force

Total 0 (delta 0), reused 0 (delta 0)

To https://github.com/mlpqaz/V2ex.git

 + 7336f1a...b00cc5a master -> master (forced update)

iosdeMac-mini-2:ZZV2ex ios$ 


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章