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

Jef*_*688 12 xcode commit merge-conflict-resolution

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

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

Ank*_*han 16

只需删除文件

git rm --cached*xcuserstate

然后执行本地提交选择.DS_Store与杂项消息

丢弃所有其他更改

完了:)


Dru*_*erB 5

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

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

Git:Git忽略Xcode项目的文件
Subversion:SVN忽略了Xcode 4的模式

  • 不幸的是,它仍然无效.我根据上面的链接在我的主目录中创建一个.gitignore文件.但每次我尝试切换分支或合并时,它总是希望我在合并或切换分支之前提交UserInterfaceState.xcuserstate文件的更改.换句话说,.gitignore并没有忽略该文件.我也尝试重启xcode.这没有用.我可能会缺少什么想法? (2认同)