通过单击Xcode源代码管理中的'Checkout'丢失了2周的进度,有什么方法可以恢复它吗?



我承认我在源代码管理和git方面的经验很少,但在我过去的项目中,作为备份做出承诺是很有用的。在这个项目中,我决定尝试制作一个新的分支。在使用它之后,我决定点击"checkout"master,但不知道它到底做了什么,现在我两周前的所有提交都被删除了,就像我回到了过去,我所做的所有提交从未存在过。我一直在处理的所有文件现在都不见了,也不见了。我搜索垃圾,我搜索项目文件夹。他们消失了。我搞砸了吗?有什么方法可以恢复这些文件吗?我找遍了所有的树枝,没有找到任何运气。谢谢

我不知道Xcode的UI是如何拼写的,但git命令是git checkout @{1}。查找reflogs和修订,@{1}是git拼写"我在做任何更改之前检查过的内容"的方式。

我搞砸了吗?

不一定!如果你在新分支上进行了提交,那么在你创建和处理的新分支上,一切都还在。所以,只要再次签出该分支,它就会返回!

现在我两周前的所有提交都已删除

啊,所以您确实进行了提交。在这种情况下,请放心,不会有任何损失。

但是,如果你在新分支上进行了而不是提交——如果你签出master而没有从你正在处理的新分支提交你的工作——那么是的,你搞砸了,一切都消失了。git的实质是提交,任何未提交的内容都不在git的权限范围内,并且会遭受意外损失。结账造成的损失是一个典型的git陷阱;你可能会认为它会警告你危险,但它并不总是这样。

最新更新