1

我开始着手一个新项目,并在启动 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

即前面提到的未跟踪文件不再由 git 输出。我已经尝试了好几次,它是完全可重现的——但完全莫名其妙。

4

1 回答 1

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/,我假设那里有.xccheckoutgit 未跟踪的文件。因此,在.gitignore引入 your 之后,git 会忽略所有这些。

于 2014-11-13T21:34:10.147 回答