Git Help UserInterfaceState.xcuserstate:警告:合并冲突:文件仍标记为冲突

Mil*_*ays 3 git xcode4

我有一个我在Xcode 4.4.1中工作的项目,并想回到之前的分支.(注意分支并不复杂,但代表线性发展)

当我选择上一个分支时,有一个警告

UserInterfaceState.xcuserstate: warning: Merge conflict: File still marked as conflicted
Run Code Online (Sandbox Code Playgroud)

一切看起来都不错,但所有构建和运行菜单项都是灰色的,所以我什么也做不了.

我试图恢复到最新的分支,这看起来没问题,但仍然存在合并冲突MyProject.xcodeproj/project.xcworkspace/xcuserdata/ian.xcuserdatad/UserInterfaceState.xcuserstate:警告:合并冲突:文件仍标记为冲突

我尝试了一个git状态,但没有帮助

# Unmerged paths:
...
#   deleted by them:    MyProject.xcodeproj/project.xcworkspace/xcuserdata/ian.xcuserdatad/UserInterfaceState.xcuserstate
#
# Changes not staged for commit:
...
#
#   deleted:    MyProject.xcodeproj/xcuserdata/ian.xcuserdatad/xcschemes/QuollEyeTree.xcscheme
Run Code Online (Sandbox Code Playgroud)

我尝试了一个git reset HEAD,但这似乎没有帮助,我不知道从哪里开始.

Git对于检查以前版本的代码很方便,但每当我尝试交换版本时,我都会遇到麻烦.

当我尝试创建工作区并添加另一个项目时,我当前的问题似乎已经加剧了.原始项目是在Xcode 3下创建的,项目和文件紧挨着项目目录.

编辑 - 已解决

以下答案没有解决问题,但两者都有帮助.

我从项目目录中保存了我的代码,删除了最新的分支

git reset --hard HEAD~1
Run Code Online (Sandbox Code Playgroud)

然后将更改的文件复制回项目目录

我还更新了我的.gitignore(我以前认为我曾经做过)

小智 16

解决冲突后我遇到了同样的问题,这就是我修复它的方法.如果您使用Xcode跟踪您的git repo,请尝试以下操作.1.我解决了所有冲突,然后保存了已解决的文件.2.转到文件 - >源代码管理 - >标记为已解决

Voila Xcode不再将这些文件识别为存在冲突.希望这适用于某人.


Vin*_*nce 5

当存在合并冲突时,您必须首先解决它.(也许你可以跑git merge --abort回来).

因此,过程是您打开冲突的文件,查找冲突,解决冲突(编辑冲突的行),然后保存文件,添加(使用git add -u)并提交.

然后,您可以在干净的工作目录上工作.

顺便说一句,冲突可能看起来像:

<<<<<<< yours:sample.txt
Conflict resolution is hard;
let's go shopping.
=======
Git makes conflict resolution easy.
>>>>>>> theirs:sample.txt
Run Code Online (Sandbox Code Playgroud)

参考:http://www.kernel.org/pub/software/scm/git/docs/git-merge.html


Mat*_*son 5

跑步

git mergetool 
Run Code Online (Sandbox Code Playgroud)

并解决冲突为我解决了问题。

作为旁注,我使用 Command-D 导航到冲突,在 FileMerge 的右下角选择一侧,然后 Command-S Command-Q(在 Mac 上)完成保存并退出。