--- title: Git 刪除已 Push 至遠端分支的 Commit tags: 筆記 description: 將 Push 至遠端分支的 Commit 刪除。 --- # Git 刪除已 Push 至遠端分支的 Commit 將 Push 至遠端分支的 Commit 刪除。 ## 1. 查看一下目前的 Commit 記錄及 `HEAD` 位置 ```git git log --oneline ``` ``` 111f161 (HEAD -> main, origin/main) Remove CSS Code bc503ac Declare Variable cc05161 Set Anchor 46fc39b v1.0 ``` ## 2. 重設 `HEAD` ```git # 從目前的 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 git push origin main --force ``` 推送至遠端 main 分支上面的錯誤 Commit 就消失了。 ## 4. 查看遠端分支 Commit 記錄 ```git git log origin/main --oneline ```