用于删除本地 Git 更改的各种方法
本文讨论了我们可以用来丢弃 Git 中的本地更改的各种方法。 假设我们已经克隆了一个存储库,我们将看到如何取消以下本地更改。
- 阶段性变化
- 未暂存的更改
- 未跟踪的更改
- 提交的改变
- 提交和推送更改
用于删除本地 Git 更改的各种方法
假设我们刚刚克隆了一个 Git 存储库,进行了一些文件更改,并暂存了要提交的文件,那么我们如何丢弃这些文件呢?
我们可以使用带有 --hard 标志的 git reset
命令放弃暂存更改。 如下图所示运行命令。
$ git reset --hard
在下一个场景中,我们已经对 repo 中的一些文件进行了更改,但我们还没有准备好提交。 我们如何丢弃这些更改?
我们有两个选择; 我们可以使用 git reset --hard
命令或 git checkout <file>
命令。 如果您正在处理多个文件,请运行后者,如下所示。
$ git checkout .
这将指示 Git 将所有文件恢复为上次提交的状态,从而丢弃未暂存的更改。
再举一个我们向存储库引入新文件的场景。 这些文件将属于未跟踪文件。
我们如何删除这些文件?
git clean
命令完成这项工作。 以下是运行命令的方法。
$ git clean -f
此命令的效果不可逆转。 建议将命令作为空运行运行以查看将丢失的内容。
您可以运行命令,如下所示。
$ git clean -f -n
您可以添加 -d 标志以删除未跟踪的目录。
如果您不想丢弃更改但希望它们不在索引中,则可以将它们隐藏起来。 在 Git 中存储意味着将索引的更改安全地存储在其他地方。
当您需要它们时,运行 git stash pop
命令。
如果我们已经提交了一些更改并且需要消除它们怎么办?
此时,我们需要将 HEAD 指针移动到最近创建的提交的父节点。 我们将使用 git reset --hard
命令,如下所示。
$ git reset --hard HEAD~1
这将消除 HEAD@{0}
处的提交引入的更改。
您还可以运行 git reset --hard@{u}
以丢弃分支中的本地提交并使其与上游跟踪分支相同。
如果您已经提交了更改,则可以创建一个提交来恢复对文件所做的更改并将其推送到远程。
$ git revert <commit-hash>
这将创建一个新的提交,您可以将其推送到远程。
简而言之,我们可以使用多种方法来消除本地 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 命令,但这很麻烦,尤其是当我们有大量不冲突的文件时。