Git撤消命令:“git重置--硬”

n3h0vuf2  于 2023-02-07  发布在  Git
关注(0)|答案(5)|浏览(177)

我正在intelliJ中处理一个Java项目。我键入了以下命令:终端中的“git reset --hard”。我如何撤销这个命令?在这个命令之前我没有提交任何东西。现在所有东西都丢失了吗?

yqyhoc1h

yqyhoc1h1#

有3种可能性:

  • 您的IDE有一个功能可以检索已删除的文件。Intellij(以及JetBrains的所有IDE)都有这个功能。像VSCode、Atom等编辑器都有这样的扩展。
  • 在重置之前你已经暂存了你的文件(执行git add),所以git可以帮助你恢复一些文件内容(但不是文件名)。从那时起,我创建了一个git命令行来帮助恢复暂存文件(参见https://stackoverflow.com/a/58853981/717372
  • 您没有暂存文件,所以从git的Angular 来看,您的所有文件都丢失了:(您仍然可以尝试使用文件恢复工具,但这可能会变得非常困难。

PS:但是在使用git的时候不要忘记一个最重要的规则**“提交所有的东西,并且经常提交(尤其是在做你不精通的事情之前)。你总是能够取回你的修改/提交(至少在使用reflog的时候)"**

cetgtptt

cetgtptt2#

这在一定程度上是可能的,因为intelij idea存储了所有编辑过的文件的“本地历史”。AFAIK它只对每个文件单独工作,所以你必须手动恢复所有文件。但仍然可用,对吗?:-)现在(2022)你也可以右键单击整个目录并选择此选项。
您可以在VCS〉本地历史〉显示历史中访问它:

然后,您可以恢复到“外部变更”之前的版本:

vojdkbi0

vojdkbi04#

如果文件尚未提交/暂存,则git reset --hard无法撤消。
在这种情况下,要恢复您的工作,唯一可以做的就是使用Local History来恢复文件。

50few1ms

50few1ms5#

我使用的是PHPSorm,但它很可能在任何jetBrains IDE中都是相同的,包括intelliJ:
1.转到"项目"工具窗口,右键单击项目节点或文件夹(文件曾经存在于其中)。
1.在上下文菜单上,选择"本地历史记录",然后单击子菜单上的"显示历史记录":项目或文件夹的本地历史记录视图显示您在过去几天中所做的一切。
1.玩得开心!:)
来源:https://blog.jetbrains.com/idea/2008/01/using-local-history-to-restore-deleted-files/

相关问题