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


当前回答

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

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

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

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

其他回答

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

对于xcode 8.3.3,我刚刚检查了上面的代码,并观察到,现在在这种情况下,我们必须将命令更改为这样

首先,您可以使用。gitignore文件

 touch .gitignore

之后,你可以使用这个命令删除所有的userInterface文件,通过使用这个命令,它将尊重你的.gitignore文件。

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

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

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

对我来说什么都没用,除了这个

把这条线加到你的gitignore里

*.xcuserdata

如果被忽略的文件一直出现在未跟踪列表中,你可以使用git clean -f -d 把事情弄清楚。

1.

git rm --cached {YourProjectFolderName}.xcodeproj/project.xcworkspace/xcuserdata/{yourUserName}.xcuserdatad/UserInterfaceState.xcuserstate

2.

git commit -m "Removed file that shouldn't be tracked"

3. 警告:首先尝试git clean -f -d——dry-run,否则你可能会丢失未提交的更改。

然后: Git清除-f -d