由于与UserInterfaceState.xcuserstate冲突而无法合并

时间:2012-12-13 23:55:28

标签: xcode commit merge-conflict-resolution

我创建了一个分支并进行了一系列更改。我提交了更改,然后存档了更改。然后我切换到主分支并尝试进行合并。它说我有未提交的更改。所以我在master分支上做了一个提交,看看它在说什么。它说有一个名为UserInterfaceState.xcuserstate的文件已被修改。所以我做出了改变(不确定改变是什么)。然后我试着再次合并。然后它打开一个合并窗口,表明与UserInterfaceState.xcuserstate存在冲突。所以我回到分支机构,发现现在需要提交相同的文件。这没有出现过。所以我承诺了,然后回到了主分公司。我再次尝试合并但由于未提交的更改而无法合并。果然,UserInterfaceState.xcuserstate再次需要提交。我承诺并尝试合并。冲突也有同样的问题。这是一个恶性循环。

这是什么文件以及如何解决报告的冲突。它不会显示在我的项目导航窗口中。此外,它不在unix文件系统中。我完全陷入困境。建议?我使用的是xcode 4.5.2

4 个答案:

答案 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

谢谢