在 Git 中推送远程仓库之前撤消提交
本文介绍如何在 Git 中重置尚未推送到远程仓库的提交,Git 是一个版本控制系统,我们使用它来跟踪对项目目录中文件所做的更改。
在 Git 中,提交用于跟踪对文件所做的更改。有时,我们可能会在本地提交文件的更改,然后可能会觉得这些更改不再相关。
我们现在要重置此提交,而不是将此提交推送到远程仓库。我们可以使用 git reset
命令完成重置尚未推送到远程的提交的任务。
在 Git 中推送到远程仓库之前撤消提交
我们在协作开发环境中使用 Git 来跟踪对文件所做的更改。Git 使用提交来完成跟踪文件更改的任务。
当我们对文件所做的更改感到满意时,我们会将更改提交到项目的 Git 仓库。在基本的 Git 工作流程中,一旦我们测试并完成了更改,我们就会将更改添加到暂存区域。为此,我们使用 git add
命令。
将更改添加到暂存区域后,我们现在继续将更改提交到我们的 Git 仓库。我们使用命令 git commit
来提交更改。
每个提交用于记录仓库状态的快照以及名称、时间戳和消息。当我们使用 git commit
命令提交更改时,这些更改将提交到本地 Git 仓库。
此本地仓库与远程 Git 仓库相关联。然后我们继续将本地 Git 仓库的提交推送到远程仓库。我们使用 git push
命令来实现这一点。
有时,在将提交推送到远程仓库之前,我们可能会觉得本地仓库中的当前提交不再需要,我们希望将其丢弃。
因此,要丢弃本地仓库中的提交,我们可以使用 git reset
命令。假设我们的 Git 仓库中有如下提交历史记录。
$ git log --oneline
453dcfc (HEAD -> master) minor change
bea3aac (origin/master, origin/HEAD) some change
b14f387 Other change
...
在提交历史中,提交 453dcfc
在本地 Git 仓库中,但尚未在远程仓库中。之前的提交也在远程仓库中。
因此,要丢弃本地仓库中存在但尚未推送到远程仓库的提交,我们可以执行 git reset
命令,如下所示。
$ git reset --soft HEAD~1
上面的 git reset
命令将当前 HEAD
重置一次。带有 --soft
选项的 git reset
命令不会触及暂存区和工作树。
它将我们所有更改的文件保存为要提交的更改
,正如 git status
所说的那样,如下所示。
$ git status
On branch master
Your branch is up to date with 'origin/master'.
Changes to be committed:
(use "git restore --staged <file>..." to unstage)
modified: README.md
我们现在可以重新检查提交历史并观察提交 453dcfc
不再存在。
$ git log --oneline
bea3aac (origin/master, origin/HEAD) some change
b14f387 Other change
...
我们已经展示了如何在 Git 中重置尚未推送到远程仓库的提交。
相关文章
如何在 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 命令,但这很麻烦,尤其是当我们有大量不冲突的文件时。