Git 恢复未提交的更改

Git 恢复未提交的更改,git,Git,我更新了分支,同时从该分支提取了最新的。在我拉了最新的,我看到了夫妇的东西坏了,而不是建立分支修复,我立即运行 git重置--硬的, 在那一刻,我甚至没有意识到我对几个文件做了更改。 有没有办法恢复我的更改?git如何恢复您尚未提交的内容? 如果您已经提交了这些更改,然后执行了类似于git reset--hard的操作,那么这就不同了—您可以从reflog恢复这些提交。但据我所知,git无法恢复从未提交过的内容。为了防止这种情况,我建议您不要重设--hard,而是git stash。在这里你可以

我更新了分支,同时从该分支提取了最新的。在我拉了最新的,我看到了夫妇的东西坏了,而不是建立分支修复,我立即运行

git重置--硬的
, 在那一刻,我甚至没有意识到我对几个文件做了更改。 有没有办法恢复我的更改?

git如何恢复您尚未提交的内容?
如果您已经提交了这些更改,然后执行了类似于
git reset--hard
的操作,那么这就不同了—您可以从reflog恢复这些提交。但据我所知,git无法恢复从未提交过的内容。

为了防止这种情况,我建议您不要重设--hard,而是
git stash
。在这里你可以找到。此命令允许您保持干净的工作目录,但将更改推到一个单独的位置。你可以有更多的藏品。你可以说出藏品的名字。这个答案现在对你没有帮助。希望这个答案对你将来有所帮助

如果您没有提交、暂存或隐藏所做的更改,则无法恢复这些更改。

恢复丢失的更改。这方面有两个问题:

如果您曾经提交过一些更改,但丢失了该提交(如在分离状态下提交),您可以使用reflog找到该提交。看这个

如果丢失了上一阶段的更改,也可以恢复该更改。看这个。(我本人从未使用过或尝试过)


如果您已隐藏更改,还可以使用pop或apply恢复该更改。(我不确定弹出/丢弃的存储是否也可以恢复未提交的存储)。您可能会发现这个用git保存的Recover drop很有用。

我恐怕要说,如果在提交或保存代码之前运行
git reset--hard
,就无法恢复代码。但是,如果您使用IntelliJ IDEA、Pycharm或Goland等现代IDE,那么您可以检查本地历史记录,并可能获得一些代码。

我几乎可以肯定答案是否定的。如果您没有提交或隐藏,您的更改将消失。但是也许一个更聪明的Git Guru知道更好的。等等,如果你处于一个糟糕的合并过程中,你可以简单的写“代码> Git合并-ABORT ,所有这些都将是很有帮助的。然而,我也怀疑有没有办法让它回来。这是完全有道理的。但我现在几乎需要从头开始。感谢您的帮助。如果您的文件系统执行自动快照,您可能会幸运地进行回滚,但正如其他人所说的(并且假设您没有处理较低级别的管道命令),如果工作没有提交,它就不存在了——已经完成了,已经完成了。这是主要问题,我没有隐藏或提交我的更改。我没有考虑我在做什么就重置了。我真他妈的傻,这是一个教训。在运行
reset
abort
之前,我会三思、三思或十思。