Git 刪除已 Push 至遠端分支的 Commit
將 Push 至遠端分支的 Commit 刪除。
1. 查看一下目前的 Commit 記錄及 HEAD 位置
git log --oneline |
111f161 (HEAD -> main, origin/main) Remove CSS Code bc503ac Declare Variable cc05161 Set Anchor 46fc39b v1.0 |
2. 重設 HEAD
# 從目前的 HEAD 倒退一個 Commit git reset HEAD^ # 從目前的 HEAD 倒退兩個 Commit git reset HEAD^^ # 從目前的 HEAD 倒退三個 Commit git reset HEAD~3 # 設定 HEAD 為 111f161 這一個 Commit git reset 111f161 # 設定 HEAD 為 cc05161 的前一個 Commit git reset cc05161^ |
重複第一點,確認目前的 HEAD 位置。
設定好 HEAD 之後,就成功把本地端的錯誤 Commit 刪掉了,但是遠端的 main 分支的部分還未修正。
3. 強制推送至遠端分支
git push origin main --force |
推送至遠端 main 分支上面的錯誤 Commit 就消失了。
4. 查看遠端分支 Commit 記錄
git log origin/main --oneline |
HackMD 版:https://hackmd.io/@sky9154/rJAlNft8i