2

所以,我正在使用 XCode 开发一个项目。令人高兴的是,我发现它在每个项目中都保留了一个 Git 存储库。所以,在代码出错后,我只是使用

git checkout aux.c

从这些错误中恢复过来。不幸的是,正如我刚刚发现的那样,Xcode 不会自动提交,所以我最终得到了一个空白文件。在此之后我没有提交任何内容,但仍然无法弄清楚如何撤消此结帐。

4

4 回答 4

2

对不起,你不能。:-(您将不得不以其他方式替换文件。

git 在两个地方跟踪你的文件——提交和索引/暂存区。由于没有提交,并且您在暂存区域之外检查了文件的版本,因此没有其他地方了。

请运行git status以防万一,以确保它仍然不会显示对该文件的分阶段更改。

你有没有机会在编辑器中打开它并且可以撤消对文件git checkout所做的更改?一些像 Textmate 和 SublimeText 这样的编辑器会允许这样做;其他人没有。

于 2012-05-02T02:47:41.383 回答
1

如果该文件从未提交到存储库,那么不幸的是你不走运。

从它的声音来看,你只是有一个空的 git 存储库,这意味着你的文件已经丢失,而 Versions(Lion 附带)或 Time Machine 可能是你从错误中恢复的最佳选择。

要确认是否有任何内容已提交到存储库,请使用git log. 如果你得到一个空的响应,那么你在 git 前端就不走运了。

不幸的是,这可能不是您要寻找的答案。

于 2012-05-02T02:50:07.503 回答
0

事实上,撤消 git 上的第一次提交是不可能的。因此,如果您正在运行 Xcode,请经常手动提交。

但是,还有另一种方式。

如果您运行的是 OS X 10.7 Lion 或更高版本(不确定 Snow Leopard),您可以尝试使用 OS X 的版本功能来恢复任何文件。对我来说太晚了,但它应该工作

于 2012-07-11T17:46:36.587 回答
0

如果您的未提交更改是恢复的最佳方法是转到(左窗格)源代码管理导航器-> 隐藏更改-> 查找日期/时间早于您想要反转的提交的文件,然后单击以应用存储更改到文件。这将带回所有未保存的文件。

于 2020-01-29T10:36:02.227 回答