在 Git 中刪除本地提交

John Wachira 2022年12月21日 2022年4月22日
在 Git 中刪除本地提交

本文將討論撤消本地提交的步驟。我們將看到如何在 Git 中刪除單個提交到多個提交。

在 Git 中刪除本地提交

我們將討論如何刪除本地倉庫中的最新提交以啟動。

我們通常使用 git reset 命令刪除對我們倉庫的最新更改。如果要刪除最新的提交,請使用以下命令。

git reset --hard HEAD~1

引數 HEAD~1 將刪除一個提交。

我們可以使用 N-th 引數,如下所示。

git reset --hard HEAD~N

如果要刪除倉庫中的最後五個提交,請將 N 替換為你的值。

我們可以使用以下命令刪除特定的提交。

git reset --hard <sha1-commit-hash>

提交歷史

在命令中使用你的等同於上面的命令。

如果你想撤消提交歷史記錄之間的提交所做的更改,請使用 git revert 命令。此命令將撤消所選提交所做的更改。

git revert <sha1-commit-hash>

但是,git revert 不會刪除提交。我們在互動式表單中使用 git rebase

git rebase -i <sha1-commit-hash>

執行上面的命令後,你將看到一個帶有周圍提交列表的編輯器。你可以在開頭鍵入 drop 以刪除你想要的提交。

如果要將更改推送到遠端倉庫,請執行以下命令。

git push --force-with-lease origin HEAD

上面的命令不會影響其他開發者在遠端倉庫中所做的更改。對於 git push origin HEAD --force 命令來說,這是一個更安全的選項,它會覆蓋其他開發人員在遠端倉庫中所做的所有更改。

如果要將本地更改恢復為遠端倉庫的當前狀態,請執行以下命令。

git reset --hard origin/<branch_name>

你可以使用 git reflog 命令找到已刪除的提交。

Author: John Wachira
John Wachira avatar John Wachira avatar

John is a Git and PowerShell geek. He uses his expertise in the version control system to help businesses manage their source code. According to him, Shell scripting is the number one choice for automating the management of systems.

LinkedIn

相關文章 - Git Reset

相關文章 - Git Revert