Git 丢弃所有更改

Posted

技术标签:

【中文标题】Git 丢弃所有更改【英文标题】:Git discard all changes 【发布时间】:2020-06-01 03:30:22 【问题描述】:

大家好,我是正在努力学习的新开发人员。

如果您不想将该文件添加到提交中,我使用 git 桌面,您可以在其中右键单击文件并选择放弃更改。它会将其恢复到原始状态。

现在我在终端工作,我怎么能在终端做呢?

我错误地在文件中添加了一些更改,我不想保留这些更改。请帮忙。

拜托,我不是高级用户,因此请尽量保持简单。我还没有在那台机器上做出任何承诺。

我只对谷歌搜索感兴趣,但找不到简单的外行答案。

【问题讨论】:

如果您共享您执行的命令,它可能会帮助人们准确回答,以便我们准确知道您在做什么。您可以在终端中使用history 来显示您已执行的命令(仅向我们显示相关命令)。 这能回答你的问题吗? Hard reset of a single file ***.com/search?q=%5Bgit%5D+discard+changes+file 【参考方案1】:

你可以简单地使用:

git checkout -- path/to/file

-- 使得文件名或路径不能被推断为分支或远程/分支。

【讨论】:

【参考方案2】:

您可以通过多种方式做到这一点

    您可以签出原始文件
git checkout file_path
    存储更改并继续工作
git stash file_path
    将头部恢复到上一次提交
git reset --hard HEAD~1
    签出到特定的提交
git reset --hard commit_sha

【讨论】:

【参考方案3】:

有多种方法可以做到这一点。我会提到最简单的。 它有两个步骤:

    将文件取消暂存到最新/当前提交。仅在暂存文件更改时才需要。

    git reset HEAD <file>

    撤消文件更改。

    git checkout <file>

【讨论】:

以上是关于Git 丢弃所有更改的主要内容,如果未能解决你的问题,请参考以下文章

git 丢弃本地所有文件(新增、删除、修改)

如何丢弃对分支所做的所有更改?

Magical Record 手动丢弃对尚未保存到数据库的所有实体的所有更改

在 Git 中丢弃本地提交

如何丢弃 GIT 存储库中未经检查的更改 [重复]

丢弃Git中的本地提交