git和xcode - 未跟踪的文件

时间:2014-11-13 21:02:10

标签: gitignore git-status

我开始研究一个新项目,发现当我启动Xcode时我有以下内容:

Changes not staged for commit:

modified: <project>.xccheckout

Untracked files: 

<project>/xcshareddata/

然后我修改了.gitignore以忽略.xccheckout并检查了状态。现在的内容如下:

Changes not staged for commit:

modified: .gitignore
modified: <project>.xccheckout

即。之前提到的Untracked文件不再由git输出。我已经尝试了好几次,而且它完全可以重现 - 但完全无法解释。

1 个答案:

答案 0 :(得分:1)

关于.gitignore要记住的一点是,已经跟踪/添加的文件不受其影响。看起来你的<project>.xccheckout已经是git版本了。

要欺骗git,假设thist文件已提交但保持不变,你可以这样做:

git update-index --assume-unchanged path/to/<project>.xccheckout

要反转:

git update-index --no-assume-unchanged path/to/<project>.xccheckout

对于<project>/xcshareddata/,我假设其中有.xccheckout个文件未被git取消跟踪。因此,在引入.gitignore之后,git会忽略所有这些。