? ? 在實際開發中,你是否遇到過錯誤的提交了代碼,想要刪掉本次提交記錄的情況,你可以按照如下方法實現。
1、使用 git revert
???????? 如果你想要保留歷史記錄,并且對遠程倉庫其他使用者的影響最小,你可以使用 git revert
命令。這個命令會創建一個新的提交,這個新提交是對之前提交的逆向操作。例如,要撤銷最近的一次提交,你可以執行:
git revert HEAD
git push origin main
????????這里 main
是你的目標分支,根據實際情況可能需要替換。
2、使用 git reset(推薦)
????????如果你需要從歷史記錄中完全刪除某次提交,可以使用 git reset
。注意,這種方法會重寫歷史,可能會給其他協作者帶來問題。如果確定要這么做,可以按照以下步驟操作:
git reset --hard HEAD~1
git push origin main --force
????????這里 HEAD~1
將 HEAD 移回到前一次提交,--hard
選項會使工作目錄中的文件狀態與倉庫同步。--force
選項用于強制推送到遠程倉庫,這會覆蓋遠程倉庫中的歷史。
3、使用 git push --force-with-lease
:
????????如果你需要強制推送,但又想確保不會覆蓋其他協作者的工作,可以使用 --force-with-lease
選項。這個選項比 --force
更安全,它會在推送前檢查遠程分支的狀態是否發生了改變。
git reset --hard HEAD~1
git push --force-with-lease origin main