让我们说昨天我在我的主分支上做了一些更改,我忘了添加,提交它们。在早上我做了
git reset --hard
是否可以在这种情况下恢复已删除的文件?
答案 0 :(得分:49)
一些更好的IDE会将您的文件跟踪为本地历史记录。如果您在外部删除文件(例如,git reset
),您应该可以在父目录中的IDE中单击并选择“与本地历史记录比较”。
我在PHPStorm
IDE中成功使用此功能时,我的未跟踪文件被某些实用程序清除了......
答案 1 :(得分:13)
不...................不是。
答案 2 :(得分:5)
git reset --hard
是一个非常危险的命令,所以下次使用时要小心:)
如果您没有对这些文件进行任何提交,那么您似乎无法恢复它们。
否则,reflog命令可以帮助您。
答案 3 :(得分:4)
(注意:这些步骤似乎有所改变,因为已接受的答案已发布。但这个想法仍然相同。)
要添加到已接受的答案,我可以使用Webstorm 2016恢复已删除的文件。
git clean -f
丢失了我的文件强制清理。 为了恢复它,我进入了Webstorm并执行了以下步骤:
转到项目的“项目”标签,右键单击“本地历史记录”下的“显示历史记录”。 (As shown in this picture.)
点击“显示历史记录”后,可以看到弹出的“外部更改 - >还原'。单击以还原右侧所需的文件。 (As shown in the attached picture.)
完成上述两个步骤后,您应该会在“项目”标签中看到您的文件。弹出的“本地历史记录”将显示此附图中的内容。 Reverted to External Change您将获得将其添加到Git的选项。
要解开它,只需从命令行执行git reset HEAD <filename>
。
答案 4 :(得分:2)
SizeToContent="WidthAndHeight"
无法删除未跟踪的文件。但是,git reset --hard
会。
但是,如果您git clean
这些文件,请不要git add
这些文件,然后运行git commit
这些文件将丢失。
但是没关系,因为它们可以恢复,如this answer所示。 (好吧,直到下一个git reset --hard
)。
答案 5 :(得分:1)
您无法从git访问以前版本的未跟踪删除文件,因为在coruse中,它们不存在。我会从一些备份中恢复它们(也许是ide / editor留下了隐藏的备份文件?),或者,作为替代方案,我会避免过多地使用该文件系统并开始搜索恢复工具。
答案 6 :(得分:1)
在Intellij中如何恢复未跟踪的还原更改
步骤1:选择文件夹,右键单击它
设置2:转到“本地历史记录”,然后转到“显示历史记录”
步骤3:选择您意外还原的未跟踪文件。然后在右侧面板中选择这些文件并还原更改,您将获得还原格式的文件。
答案 7 :(得分:0)