Answers:
我相信,如果文件已修改但尚未添加(暂存),则它纯粹是“私有”的。
这意味着如果用索引或HEAD版本覆盖,则GIT无法恢复它(除非您在某处拥有当前工作的副本)。”
“私有”内容仅在当前目录中可见,但未以任何方式在Git中注册。
git checkout --),我希望它能够撤消该操作,也许是通过reflog。那是错误的期望吗?
git checkout folders/subfolders/file但进入folder并丢失所有工作后偶然按回车键。/距键盘输入距离为1厘米,并且我经常在具有不同键盘布局的机器之间进行切换,因此我的手指通常需要10到15分钟的时间才能适应新位置。即使在git书中说git这样做是为了不丢失工作,但很难相信git在2018年会破坏文件。
如果您使用的是“专业” IDE,则很有可能可以从本地历史记录中还原文件。例如,在Rubymine中,您可以右键单击文件并查看与git更改无关的更改历史,现在为我保存了几次^^
在您的IDE中检查本地历史记录。
在OS X上开发?使用Xcode?您可能很幸运!
如qungu的评论中所述,即使您不使用Time Machine,OS X 也会保留文件的自动保存版本历史记录。
所以,如果你吹走满不在乎的不分阶段的局部变化git checkout .,这里是你如何能可能恢复所有的工作。
如果有人发现该线程破坏了XCode中的某些工作,则有一种获取AutoSave历史记录的方法。XCode本身没有菜单项来查看“自动保存”历史记录,但确实存储了它。如果在TextEdit中打开有问题的文件,则可以还原并在“文件”>“还原”下浏览“自动保存”历史记录。
真棒,昨天为我工作了大约一天的时间。
您可能会问:“为什么不使用git命令行界面,即用于软件工程的首要VCS?2016年 2017年 2018年2019年,至少要在备份文件之前备份文件?就像您知道的,大约三十年来写得很好的软件工具。”
或者,您可能会问:“为什么在TextEdit中可以使用此超棒的文件历史记录功能,而在我实际需要的地方却无法使用Xcode?”
…而且我认为,这两者都将向您全面介绍我们的行业。或者,也许您将去修复那些工具。哪个超级好。
Model不幸
对于这种情况,有效的救星是Time Machine(OS X)或类似的基于时间的备份系统。它为我节省了几次,因为我可以返回并仅还原一个文件。
我刚遇到这种情况,我检查了一个包含数小时工作的整个文件夹!幸运的是,我发现我的IDE Netbeans保留了每个文件的历史记录,即使我需要手动修复一些问题,也可以恢复99%的文件。
通常,我的所有工作都放在保管箱文件夹中。这确保了我在本地计算机和Github之外都可以使用当前文件夹。我认为这是保证git以外的“版本控制”的另一步骤。您可以按照以下步骤将文件还原到以前版本的保管箱文件
希望这可以帮助。
杜德
可以说您像我一样是个非常幸运的人,回到您的编辑器并执行撤消(对于Mac为Command + Z),您应该在文件中看到丢失的内容。希望对您有帮助。当然,这仅适用于现有文件。
也许您的更改没有丢失。检查“ git reflog”
我引用以下文章:
“基本上,您在存储数据的Git内部执行的每个操作都可以在reflog中找到。Git会尽力不丢失数据,因此,如果出于某种原因,您有可能将其挖掘出来使用git reflog”
查看详细信息:
http://gitready.com/intermediate/2009/02/09/reflog-your-safety-net.html
git reflog这里值得一提,我在寻找撤消a时找到了这个答案git checkout HEAD .-我本想输入git reset HEAD .-我刚刚做了一个'git reset --soft HEAD〜1',不知道关于git reflog这样的事情能够恢复我所做的工作:)