我有一个我在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不再将这些文件识别为存在冲突.希望这适用于某人.
当存在合并冲突时,您必须首先解决它.(也许你可以跑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
跑步
git mergetool
Run Code Online (Sandbox Code Playgroud)
并解决冲突为我解决了问题。
作为旁注,我使用 Command-D 导航到冲突,在 FileMerge 的右下角选择一侧,然后 Command-S Command-Q(在 Mac 上)完成保存并退出。
| 归档时间: |
|
| 查看次数: |
12424 次 |
| 最近记录: |