在Xcode中使用git时,UserInterfaceState.xcuserstate没有被提交

时间:2012-11-19 09:55:19

标签: objective-c git xcode4.5

当我尝试提交我的代码项目时,它会显示一个名为'UserInterfaceState.xcuserstate'的文件,该文件必须提交。一旦我提交它并尝试将我的项目推送到git,Xcode会给我一条弹出消息,说“工作副本”应用程序“有未提交的更改。”当我再次尝试提交时,我会再次提交相同的文件'UserInterfaceState.xcuserstate'。有人可以帮我吗?

1 个答案:

答案 0 :(得分:17)

UserInterfaceState.xcuserstate是Xcode保存GUI状态的地方,例如窗口位置,打开标签,项目检查器中的扩展节点等。

简单地调整Xcode窗口的大小将导致此文件发生更改并被源控制系统标记为已修改。您可以使SCM系统忽略对项目本身不重要的特定文件。

您希望Git忽略该文件,您可以将其添加到.gitignore file,但您必须删除跟踪。要停止跟踪当前跟踪的文件,请使用git rm –cached

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

之后.gitignore将生效UserInterfaceState.xcuserstate 现在你不会得到一条弹出消息说'The working copy "app" has uncommitted changes.'