我用完全不同的方法解决了这个问题,只使用 Xcode 的源代码控制。
背景:另一个团队将更改推送到远程 Git 存储库(通过 Beanstalk)。就我而言,.xcodeproj 文件位于不同的目录下,并且没有进行更改。后来,当我尝试提交时,我在 Xcode 中收到了 Tree Conflict 错误。
树冲突截图
使用 Xcode 几乎不可能更正,我用从 Git 服务器下载的版本替换了 .xcodeproj 文件。结果... Xcode 项目似乎清理干净了,但是来自损坏的 Pull 的所有更新都显示为我所做的更改,并已为提交而暂存。查看所有这些 Mod 和添加的文件但是,在尝试提交时,我收到了相同的“致命:在合并期间无法执行部分提交”错误,此处讨论。
以下是我解决问题的方法......(现在,了解我是一个菜鸟程序员,所以我可能缺乏一些理解......但我的无知让我找到了另一种方法。)首先,我克隆了我的主人分支到辅助分支并切换到该分支。然后我创建了一个工作副本并将该工作副本的目录放在原始项目目录之外。(我不知道这是否有必要,但这是我在阅读其他故障排除技术时所做的。)然后我将分支切换到主分支,在那里我意识到我所有的暂存文件(对提交的更改)都消失了。为了确保所有文件都更新到对方所做的最新更改,我创建了一个名为 ThirdBranch 的新分支,它复制了所有文件,将其推送到 Git 服务器,让 Beanstalk 将我的 master 分支的服务器版本与我刚刚推送的 ThirdBrach 分支(逐行)进行比较,并且对方的所有更改都存在于我的 Xcode 上。这意味着我的主存储库和 Git 主存储库是相同的,这证明我仅使用 Xcode 解决了问题。
不要问我是怎么做的,除了我刚才描述的……当然要填补我遗漏的空白。我是新手,我什么都不懂。也许有经验的程序员可以将不相关的信息与相关信息分开,并更清楚地重新创建这种技术,这也是我发布此内容的部分原因。