我创建了一个分支并进行了一系列更改。我提交了更改,然后存档了更改。然后我切换到主分支并尝试进行合并。它说我有未提交的更改。所以我在master分支上做了一个提交,看看它在说什么。它说有一个名为UserInterfaceState.xcuserstate的文件已被修改。所以我做出了改变(不确定改变是什么)。然后我试着再次合并。然后它打开一个合并窗口,表明与UserInterfaceState.xcuserstate存在冲突。所以我回到分支机构,发现现在需要提交相同的文件。这没有出现过。所以我承诺了,然后回到了主分公司。我再次尝试合并但由于未提交的更改而无法合并。果然,UserInterfaceState.xcuserstate再次需要提交。我承诺并尝试合并。冲突也有同样的问题。这是一个恶性循环。
这是什么文件以及如何解决报告的冲突。它不会显示在我的项目导航窗口中。此外,它不在unix文件系统中。我完全陷入困境。建议?我使用的是xcode 4.5.2
答案 0 :(得分:16)
只需使用
删除文件git rm --cached * xcuserstate
然后执行本地提交选择带有杂项消息的.DS_Store
放弃所有其他更改
拉
推
完成:))
答案 1 :(得分:5)
UserInterfaceState.xcuserstate
是Xcode保存GUI状态的地方,例如窗口位置,打开标签,项目检查器中的扩展节点等。
简单地调整Xcode窗口的大小将导致此文件发生更改并被源控制系统标记为已修改。您可以使SCM系统忽略对项目本身不重要的特定文件。
Git:Git ignore file for Xcode projects
颠覆:SVN ignore pattern with Xcode 4
答案 2 :(得分:0)
我尝试了所有命令都没有帮助我。所以我想在目录中删除。
右键单击xcode项目文件->显示包内容->project.xcworkspace->右键单击xcworkspace文件->显示包内容->xcuserdata->mac"mac是系统名称".xcuserdatad- > UserInterfaceState.xcuserstate -> 在这里删除你的头疼我的意思是 UserInterfaceState.xcuserstate 文件。
然后使用命令提交并照常执行。
答案 3 :(得分:0)
CMD下的简单运行-
git rm --cached [此处输入您的 UserInterfaceState.xcuserstate 路径,您可以从终端警告复制和粘贴路径]
就像我的情况:
git rm --cached CabAppUser.xcworkspace/xcuserdata/shinewebsolutions.xcuserdatad/UserInterfaceState.xcuserstate
谢谢