在 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