我使用Git进行Xcode 4项目版本控制。我明确地添加了ProjectFolder.xcodeproj/project.xcworkspace/xcuserdata/myUserName.xcuserdatad/UserInterfaceState。xcuserstate到.gitignore,但是Git不会忽略它。有人知道为什么吗?


当前回答

所有答案都很棒,但如果你在不同的Mac(家庭和办公室)上工作,这里有一个会为每个用户删除的答案

git rm --cache */UserInterfaceState.xcuserstate
git commit -m "Never see you again, UserInterfaceState"

其他回答

如果您正在使用源树应用程序,这里有一个更简单的解决方案。 以下是使用说明

1.右键单击要添加到git忽略列表中的文件并选择停止跟踪。

再次右键单击相同的文件,你会注意到忽略选项现在启用,然后单击忽略按钮。

现在,您可以为同一个文件重置或提交更改,这取决于您的更改是否重要。将来所选文件的更改将不会被跟踪。

只是 "git clean -f -d" 为我工作!

Git可能已经在跟踪该文件。

gitignore文件中写道:

要停止跟踪当前正在跟踪的文件,请使用git rm——cached。

使用这个,用你的信息替换[project]和[username]:

git rm --cached [project].xcodeproj/project.xcworkspace/xcuserdata/[username].xcuserdatad/UserInterfaceState.xcuserstate
git commit -m "Removed file that shouldn't be tracked"

或者你也可以使用-a选项来提交git,这将添加所有被修改或删除的文件。

一旦你从git中删除了这个文件,它就会尊重你的.gitignore。

如果在做了上面提到的所有事情之后文件仍然显示,请确保Xcode设置中的这个复选框是未选中的:

你也可以忽略Xcode首选项本身的文件。

从https://www.toptal.com/developers/gitignore生成gitignore文件

去Xcode ->首选项->源控制-> Git ->添加列表中所有忽略项…尽管UI并不是真的有用&你必须单独添加所有项目,但在这里添加忽略文件肯定有效。