繁体   English   中英

Xcode:在GIT子分支中添加了文件,现在尝试合并向上给定,“树冲突”

[英]Xcode: Added file in GIT sub-branch, now attempts to merge upward give, “Tree Conflict”

我只在Xcode 8.2.1中使用本地存储库。 这是一个单人表演,我是唯一更改代码的人。 多年来,我在GIT中创建了一系列子分支,如下所示:

master
     branch1
     ...
     branch14
            branch14.1
            ...
            branch 14.13    //added lots of new code/classes
                   branch 14.13.NewCombatReports //refactor 1 class into 2

在14.13中,通过使用xcode的“新建文件”选项并创建了新类,我添加了很多新类。 使功能正常运行后,我创建了一个子分支14.13.NewCombatReports,以隔离重构较大的类之一(将大量代码分离到自己的新类BattleManager.m / h中)。

当我感到满意时,我提交了更改,然后尝试合并到父分支中。 我收到一条错误消息:

由于一棵或多棵树冲突,无法执行该操作。 文件BattleManagerClass.h和BattleManagerClass.m有树冲突

遵循类似SO问题的建议,我在BattleManager *所在的同一目录中运行了git status ,该目录返回:

On branch master.DevMain.14.13.newCombatReports
Untracked files:
    (use "git add <file>..." to include in what will be committed)

        ../CloudKitHelperClass (xxxxxxxx's conflicted copy 2016-11-18).m
        ../yyyyyy.xcodeproj/project.xcworkspace/xcuserdata/thunk.xcuserdatad/.gitignore
        ../yyyyyy.xcodeproj/project.xcworkspace/xcuserdata/thunk.xcuserdatad/UserInterfaceState (xxxxxxxx's conflicted copy 2016-11-18).xcuserstate
        ../yyyyyy.xcodeproj/xcuserdata/thunk.xcuserdatad/xcdebugger/Breakpoints_v2.xcbkptlist

nothing added to commit but untracked files present (use "git add" to track)

似乎都与新的BattleManager类无关。 经过四处摸索,没有真正理解我在GIT中的工作,我最终从xcode项目中删除了该类,并将BattleManager文件移至〜/ tmp。 我提交了更改,然后成功地将14.13.NewCombatReports中的其余更改合并回了14.13。 那时,我将新的BattleManager类重新添加到14.13中并进行了重建。 一切都很好,或者我想。

随后,当我尝试将14.13合并为14时,遇到了一堆树冲突,抱怨我在14.13中添加的每个类文件。

因此,我显然做了一些根本上错误的事情,例如当我尝试向上合并包含净新文件的分支时,GIT不喜欢它。 我不太了解GIT的工作原理,也不了解:

  1. 试图在本地存储库中告诉我什么是“树冲突”错误? 我不了解我当前的修订版本与之冲突。
  2. 如何修复它,以便可以向上合并包含新文件的此分支?

这个问题似乎很像Xcode合并分支,添加一些新文件时提醒树冲突 注释链接到: 无法执行该操作,因为“ PROJECTNAME”具有一个或多个树冲突 ,该冲突涉及尝试在本地版本和服务器版本之间协调目录结构。 由于我不与服务器打交道,因此我不了解如何应用该建议。

我已经看到xcode尝试git操作时发生类似的奇怪错误。

刚刚关闭项目,退出xcode并重新启动,为我清除了一些问题。

使用gui git工具之一有时也会有所帮助。 有几种不同的选项,但是我使用gitbox,可以从应用程序商店购买。 它具有强制合并的选项,这可能会解决问题。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM