13

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

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

4

4 回答 4

17

只需使用删除文件

git rm --cached *xcuserstate

然后选择带有杂项消息的 .DS_Store 进行本地提交

放弃所有其他更改

完毕 :)

于 2014-07-07T13:00:00.877 回答
5

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

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

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

于 2012-12-14T00:08:24.133 回答
0

我尝试了所有命令对我没有帮助。所以我想在目录中删除。

右键单击xcode项目文件->显示包内容-> project.xcworkspace->右键单击xcworkspace文件->显示包内容-> xcuserdata-> mac"mac is an system name".xcuserdatad -> UserInterfaceState.xcuserstate ->在这里删除您的头疼我的意思是 UserInterfaceState.xcuserstate 文件。

然后使用命令提交并照常执行。

于 2021-01-22T05:43:28.753 回答
0

在 CMD 下简单运行-

git rm --cached [在此处输入您的 UserInterfaceState.xcuserstate 路径,您可以从终端警告中复制并粘贴路径]

就像我的情况一样:

git rm --cached CabAppUser.xcworkspace/xcuserdata/shinewebsolutions.xcuserdatad/UserInterfaceState.xcuserstate

谢谢

于 2021-07-30T17:02:16.203 回答