所以,我正在使用XCode开发一个项目。令人高兴的是,我发现它在每个项目中都有一个Git存储库。因此,在代码出错后,我只使用了
git checkout aux.c
从这些错误中退出。不幸的是,正如我刚刚发现的那样,Xcode不会自动提交,因此,我最终得到了一个空白文件。 在此之后我没有提交任何内容,但仍然无法弄清楚如何撤消此结帐。
答案 0 :(得分:2)
对不起,你不能。 :-(你将不得不以其他方式替换文件。
git跟踪文件有两个地方 - 提交和索引/暂存区域。由于没有提交,并且您从暂存区域检查了文件的版本,因此没有其他地方。
为了以防万一,请运行git status
,以确保它仍然不会显示对该文件的分阶段更改。
您是否有机会在编辑器中打开它并可以撤消对git checkout
所做文件的更改?像Textmate和SublimeText这样的编辑会允许这样做;其他人没有。
答案 1 :(得分:1)
如果文件从未被提交到存储库,那么很遗憾你不幸。
从它的声音来看,你只需要一个空的git存储库,这意味着你的文件已经丢失,并且版本(Lion附带)或Time Machine可能是你从错误中恢复的最佳选择。
要确认是否已将任何内容提交到存储库,请使用git log
。如果你得到一个空的回答,那么你在git前面运气不好。
不幸的是,这可能不是你想要的答案。
答案 2 :(得分:0)
事实上,撤消对git的第一次提交是不可能的。因此,如果您正在运行Xcode,请经常手动提交。
但是,还有另一种方式。
如果您运行的是OS X 10.7 Lion或后者(不确定Snow Leopard),您可以尝试使用OS X中的版本功能来恢复任何文件。对我来说太迟了,但它应该工作
答案 3 :(得分:0)
如果要进行未提交的更改,最好的恢复方法是转到(左窗格)Source Control Navigator-> Stashed Changes->查找一个日期/时间早于您想提交的提交的文件,然后单击以单击。将隐藏更改应用到文件。这样会将所有未保存的文件重新带回。