[GIT] Delete wrong merge, then redo…

做 merge 的時候難免手殘…

如果還沒 push 到 server 上,那可以用 git reset –hard HEAD~1 來復原。如果是用 –soft 的話該 merge commit 依然會存在 local repository中,不像用 –hard 會刪除。

如果已經 push 到 server 上頭了,可以用這樣的作法。先 checkout merge 前的 commit (意即 detach HEAD),然後重新做 commit,產生出新的 detached HEAD,然後用 –force 參數,將 HEAD push 回 server。

但要注意的是,這樣做完之後,local repository跟 server上頭的會不一致,記得要再重新 pull 一次

Leave a Reply

%d bloggers like this: