如何在Xcode UI中解决git pull冲突

11
我正在使用最新版本的Xcode和Xcode仓库GUI,而不是命令行工具。我成功进行了本地仓库的初始拉取,并对本地文件进行了一些更改。同时,我的另一个开发人员也做了一些更改。我已经将我的更改提交到了本地仓库中,但需要他的更改才能进行正确的构建。我们只有1个分支。
我尝试拉取,但Xcode UI报告了6个冲突(这正是我所期望的,因为我需要这6个文件来进行正确的构建)。
我的问题是如何解决这些冲突?我在网上看到说可以使用屏幕底部的左右按钮来选择文件版本。我浏览了所有6个文件,并使用适当的按钮来选择我想要的更改。
然而,右下角的“Pull”按钮却被禁用并变灰。

1
大家好,在浪费了几个小时之后,简短的答案是要么使用命令行,要么使用Tower Git客户端。Tower非常棒!! - Greg Svitak
5个回答

11
在提交屏幕的文件列表上方有三个图标,一个目录视图,一个文档视图和最后一个看起来像一些水平线。当我遇到类似问题时,我发现点击这些图标会显示其他我尚未解决的文件。
我尽力解决了其中的一些文件,但注意到其中一些文件包括一些.DS-Store,这些是隐藏的苹果(桌面服务存储)文件,已在其他地方指出可能会导致git问题。
我按照如何从Git存储库中删除.DS_Store文件的说明将.DS_Store放入.gitignore中。
对我来说,这样就解决了问题。

太棒了!那些粗体行是完美的提示!!问题解决了 :) - swiftBoy

1
在我的情况下,我只是在更深的地方遇到了更多的冲突,但我没有看到。奇怪的是,自从使用Xcode 6以来,这是我第一次真正需要处理冲突——而且是我自己制造的!(在另一台机器上)
无论如何,只要向下滚动一点,就会发现文件中有更多的冲突,一旦选择“右”或“左”(或“先右后左”/“先左后右”),“拉取”按钮就会启用,我就能完成我的拉取...
呼!希望这可以帮助你!

0
对我来说,这是一个在分支中已被删除但仍然存在于主分支中的文件。一旦我取消选中该文件,我就能够进行拉取操作。

0

我在Xcode 9.4.1中遇到了这个问题,解决完所有冲突后,我需要做以下操作:

  • 切换到左侧面板上方的源控制视图(带有十字标志的框)
  • 将顶层项目条目旁边的复选框从关闭状态切换到打开状态。这将启用“拉取”按钮,但只有一秒钟的时间,不足以点击它。
  • 将复选框切换回关闭状态,然后再次切换到打开状态。现在,“拉取”按钮保持启用状态。
  • 单击拉取

感觉这非常像一个bug;我还没有验证问题是否仍然存在,并且解决方案在Xcode 10中是否仍然有效。


0

只需在命令行中执行 "git pull",然后重新构建以查找冲突标记并手动修复它们。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接