我在本地分支中进行了一些更改,我使用git add -A
添加了这些更改。
然后由于某些原因,我通过git reset
取消了这些更改。
然后我打开GitExtensions并单击重置所有更改。 (我以某种方式假设它是重置选定的更改:/)
所以我最终失去了这些变化。 是否可以恢复这些变化,因为它们曾被添加过来?
这里的对话表明,如果他们曾经上演过,可以恢复这些变化。我怎么也找不到: need to undo "Reset Changes" action git extensions
如果更改一旦被隐藏,我找到了恢复的方法: how-to-recover-a-dropped-stash-in-git
这里的答案表明,如果没有提交,暂存或隐藏更改,则无法恢复更改: accidentally-reverted-to-master-lost-uncommitted-changes
答案 0 :(得分:0)
是的,这是可能的,因为在您暂存文件时,文件的内容会添加到git存储库中。但是您不会恢复文件名,因为树对象仅在提交时创建。
Gitextensions中有一个“恢复丢失的对象”功能: https://git-extensions-documentation.readthedocs.io/en/latest/maintenance.html#recover-lost-objects
请注意,文档不是最新的,并且菜单项已被移动(现在位于“存储库”菜单中)。
Ps:我强烈建议您使用下一版本的开发版本来至少恢复您的文件,因为我已经改进了该功能,以便在特殊情况下更轻松地恢复文件。您可以在此处下载:https://ci.appveyor.com/project/gitextensions/gitextensions/branch/master/artifacts
然后我打开GitExtensions并点击重置所有更改。 (我以某种方式假设它是重置选定的更改:/)
“重置所选更改”是指右键单击所选文件或使用“r”键盘快捷键。