从 Git 中的远程仓库中删除提交
有时在使用 Git 时,我们会意识到提交出错并且需要删除。原因可能是客户不希望在产品中使用该功能。
要么我们引入了一个错误,要么需要再次处理,因为我们已经提交了错误的实现。
本文将讨论我们如何删除本地和远程仓库并使用 Git 命令清理所有这些仓库。
在 Git 中,我们可以通过两个不同的过程来删除提交。这些过程取决于更改,无论它们是否被推送到远程分支。
从 Git 中的本地仓库中删除提交
如果我们的更改还没有推送到远程仓库,那么我们可以通过以下命令在本地删除最近的提交:
git reset --hard HEAD~1
上面提到的命令将丢弃文件夹(工作树)中所做的所有更改,并将 HEAD
移动到 HEAD
之前的最新提交。
如果我们想在特定的提交之前删除提交,我们将运行 git log
来搜索特定的提交 id。之后,我们将使用以下提到的命令删除这些提交:
git reset --hard <sha1-commit-id>
前面提到的这个命令将丢弃工作树中所做的所有更改,并将 HEAD
移动到我们选择的提交中。
从 Git 中的远程仓库中删除提交
如果我们想从远程仓库中删除提交,我们将强制推送
新的 HEAD
提交。或者,如果我们已经将更改推送到远程仓库,我们将运行以下命令:
git push origin HEAD --force
如果其他人拉了这个分支,那么最好启动一个新分支;否则,它将把它合并到他们的工作中,在这种情况下,我们需要再次推回同一个分支。
这将从本地和远程两个仓库中删除该提交。如果我们只需要从远程而不是从本地删除它,那么我们将执行以下提到的命令:
git push origin +HEAD^:branch_name
在执行这些命令之前,我们应该再看一下,因为它会删除我们所有的工作目录更改。
删除后,如果我们想再次搜索该提交,更优选的是,它会出现在 <git reflog>
中,除非我们的仓库已被垃圾回收。
相关文章
如何在 Windows 系统中卸载 git
发布时间:2023/04/09 浏览次数:223 分类:Git
-
在这篇简短的文章中,我们将学习如何卸载 Git,以及如何在从个人计算机的目录中卸载 Git 后删除这些文件。
Git 如何重命名本地分支
发布时间:2023/04/09 浏览次数:64 分类:Git
-
大多数情况下,重命名分支机构是由于上述情况。 因此,在本教程中,我们将学习使用下面提到的技术更改本地 Git 分支的名称。
重命名 Git 存储库中的文件和目录
发布时间:2023/04/09 浏览次数:102 分类:Git
-
在本文中,我们将讨论 git 中的重命名过程。 我们使用 Git Rename 来更改工作目录中文件和文件夹的名称。
在 Git 中取消初始化存储库
发布时间:2023/04/09 浏览次数:187 分类:Git
-
本本文介绍如何通过 Git 命令行取消初始化 Git 存储库。git init 命令开发一个新的空置 Git 存储库。 它还用于重新初始化已经存在的 Git 存储库。
Git 仓库名称该如何命名
发布时间:2023/04/09 浏览次数:208 分类:Git
-
使用 Git 时,选择一个简洁且最新的存储库名称是一项艰巨的任务。本教程介绍了如何以独特的方式命名 Git 存储库。
配置 Git 以忽略文件模式更改
发布时间:2023/04/09 浏览次数:67 分类:Git
-
本文讨论配置 Git 以忽略文件更改 chmod 所需的步骤。 如果您更改 Git 正在跟踪的文件的权限,系统将在该文件中注册更改。
在 Git 中暂存已删除的文件
发布时间:2023/04/09 浏览次数:93 分类:Git
-
本文讨论了在 Git 中暂存已删除文件的必要步骤。我们知道 rm 命令可以删除一个文件,而无需将其从工作目录中移除。 那么,我们如何暂存已删除的文件以进行提交呢?
在 Git 中显示冲突文件
发布时间:2023/04/09 浏览次数:139 分类:Git
-
本文讨论在 Git 中列出冲突文件的最简单和最干净的方法。 我们可以使用 git status 命令,但这很麻烦,尤其是当我们有大量不冲突的文件时。