不能忽略UserInterfaceState.xcuserstate

Gar*_*ies 282 git xcode gitignore xcode4

我正在使用Git进行Xcode 4项目版本控制.我明确地添加ProjectFolder.xcodeproj/project.xcworkspace/xcuserdata/myUserName.xcuserdatad/UserInterfaceState.xcuserstate.gitignore,但是Git它不会忽略它.任何想法为什么会这样?

mat*_*att 631

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"
Run Code Online (Sandbox Code Playgroud)

或者,您可以使用-a选项来git commit添加已修改或删除的所有文件.

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

  • 这帮助了我:1)退出xcode; 2)转到项目目录并从终端应用程序执行"ls -la"以确保您看到.git和.gitignore文件; 3)将上面例子中的"ProjectFolder"改为*your*project的名称; 4)执行matt显示的两个git命令; 5)重新启动XCode并进行提交并验证不再列出xcuserstate文件. (22认同)
  • 我有这个问题,但当我尝试删除xcuserstate文件时,它说"与任何文件都不匹配".这是怎么回事? (2认同)

Xin*_*ing 50

如果被忽略的文件一直显示在未跟踪列表中,您可以使用git clean -f -d 来清除.

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

  2. git commit -m"删除了不应该被跟踪的文件"

  3. git clean -f -d

  • 谢谢大家,git clean -f -d刚删除.xcodeproj和我项目中的其他文件...... (3认同)

har*_*ios 37

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

git rm --cache */UserInterfaceState.xcuserstate
git commit -m "Never see you again, UserInterfaceState"
Run Code Online (Sandbox Code Playgroud)


Jos*_*eso 19

有朋友告诉我这个惊人的网站https://www.gitignore.io/.进入您选择的IDE或其他选项,它将自动生成一个gitignore由有用的忽略组成的文件,其中一个是xcuserstate.您可以gitignore在下载之前预览文件.


Luk*_*ski 15

如果文件在完成此处提到的所有操作后仍然显示,请确保未选中Xcode设置中的此复选框:

在此输入图像描述


ril*_*lar 13

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


Fan*_*ing 8

如果你使用 GitHub,这里有一些演示和捷径,基本思路是一样的。

1. 像这样打开终端

在此处输入图片说明

2. 将下面的命令粘贴到终端,后跟一个空格,然后像这样粘贴 .xcuserstate 文件的路径

git rm --cached 在此处输入图片说明

3. 确保你有正确的 git ignore 然后提交代码:)

在此处输入图片说明


小智 7

这对我有用

  1. project.xcworkspace从终端打开包含项目文件的文件夹。

  2. 写这个命令:git rm --cached *xcuserstate

这将删除该文件。


小智 7

如果您使用源树应用程序,这是一种更简单的解决方案。这是说明

1.右键单击要添加到 git 忽略列表的文件,然后选择停止跟踪。 在此输入图像描述

  1. 再次右键单击同一个文件,您会发现忽略选项现已启用,然后单击忽略按钮。

在此输入图像描述

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


Qad*_*ain 5

对我来说没有任何作用,但是这个

将此行添加到您的 gitignore

*.xcuserdata
Run Code Online (Sandbox Code Playgroud)