在 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 中删除本地提交

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

如果你想撤消提交历史记录之间的提交所做的更改,请使用 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 命令找到已删除的提交。