在Xcode项目导航器中,问号标志代表什么?

129
在Xcode的项目导航器中,我不确定文件名旁边的“?”想要告诉我什么。


Screen Shot

我相信这不是巧合,这个文件是我从项目的根目录拖到Classes文件夹中的(因为.mm文件在那里,我想让它们在一起)。项目仍然可以正常编译,但我的代码感觉最近出了问题,我想知道这是否可能是问题的一部分。
谢谢!
8个回答

183

这是源代码控制系统未跟踪的文件。


3
如果您使用源代码控制,那么将其添加进去可能是有意义的。 - Michael Krelin - hacker
98
谢谢。如果有其他人阅读此内容,只需右键单击该文件,然后转到源代码控制-> 添加。这将把“?”变成“A”。因此,基本上:?表示不是源代码控制的一部分。A表示已添加到源代码控制,但未被修改。M表示已添加到源代码控制并且已修改。 - Farhan Hafeez
7
此外,如果您发现某个已被跟踪的文件旁边有一个问号标记,而“源代码管理”->“刷新状态”菜单选项没有改变任何内容,请尝试退出并重新启动Xcode。唉。 - Matt Gibson
2
如果以上所有方法都不起作用,那就把你的Mac扔掉,然后踩它一脚,再重新启动,当它正在重启时,用锤子敲打它。如果你的Mac能够坚持到这一步,请尝试重新打开XCode。如果还是不行,你知道该怎么做了。 - Joseph Francis
我在项目中没有使用源代码控制,但是重新启动 Xcode(12 beta)解决了问题。谢谢 @MattGibson - Marcy

86

这些字符代表源代码控制状态。


  • ? - 未纳入版本管理
  • M - 已修改
  • A - 已添加
  • A+ - 移动/重命名(Xcode 13中为R
  • U - 源代码控制中文件的新版本

更多参考点此查看


为什么文件没有自动版本控制? - mercury

28

您可以通过选择未跟踪的文件来将其添加到源代码控制中。 在此输入图片描述


12

以下步骤解决了我的问题:

  • 选择所有带有“?”的文件
  • 右键并选择源代码控制
  • 选择添加所选文件
  • 选择提交所选文件...
  • 在弹出的对话框中随意输入一些注释(无论什么)

截图


4
如果您使用GIT,那么这些文件是未提交的,您需要手动右键单击“源代码控制”>“提交所选文件”。这样做应该可以消除今天Xcode 6.3.2新版本中的“?”标志。

2

除了其他答案之外,这通常不会发生,除非您已更改Xcode中的设置。

从Xcode首选项 >> 源代码控制 >> 确保“自动添加和删除文件”被选中

enter image description here


1
将文件Stage,如果它是一个工作副本,那么Unstaged的文件将变为A

0

我突然发现我的一个文件Unversioned(带有问号标记),但它是旧文件。

这是一个.m文件。在问题出现之前,我创建了它的副本,以便创建新的相似类。我重命名了一个类并将新文件添加到XCode中。

问题(旧文件变成未版本控制)出在开头没有重命名的注释字符串:

//
//  MyFirstClass.m

当我重命名它时,未版本化文件的问题得到了解决。
//
//  MySecondClass.m

希望能对某些人有所帮助。 附加说明:可能还需要删除并复制回这些文件。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接