2016-12-01 56 views
0

我在代碼中做了錯誤的修改,然後提交它們,然後將它們推送到遠程。如何撤消git push或將origin/mybranch移動到上一步?

現在本地mybranchorigin/mybranch同步。

我發現我的代碼是錯的。我想退一步來。我沒有將當前分支重置爲先前的提交,並在本地存儲庫中獲得了正確的狀態,但無法將其推送到遠程。

如果我做正常的推,它合併,我再次留在錯誤的代碼。

在我強制推動後,我得到了額外的提交邏輯消失,但我仍然有錯誤的代碼。

現在我要手動恢復舊時尚樣式中的更改。

是否更好的執行方式?

+0

你已經完成了「 - soft」或「--hard」reset嗎? –

+0

@sajibkhan它不會與已推入的東西一起工作,會嗎? – Phate01

+0

[撤消'git push']可能的重複(http://stackoverflow.com/questions/1270514/undoing-a-git-push) – nullpointer

回答

0

復位後糾正代碼

git push origin mybranch -f

-f意味着力

0

我想退一步正在添加一個[原文如此]。

你應該已經

git rebase -i origin/mybranch

,並選擇要保留哪個提交。

0

如果要刪除上次提交的更改,則需要執行--hard重置。

$ git checkout mybranch 
$ git reset --hard HEAD~1   # undo last commit with changes 
$ git push -f origin HEAD