Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/git/23.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
试图解决Xcode项目上git冲突的噩梦_Git_Xcode - Fatal编程技术网

试图解决Xcode项目上git冲突的噩梦

试图解决Xcode项目上git冲突的噩梦,git,xcode,Git,Xcode,我是git的新手。我知道基本的东西,而且非常糟糕 几天前,我从一个主遥控器分支创建了一个名为coreData的分支 其他内容已合并到远程主机中。所以,远程主机在我用来分支的主机之前 现在我已经coreData完成了。我想在上面打开一个pull请求,这样它就可以合并到master中 我已经尽了我所知的一点点努力来解决这个问题 我到目前为止所做的一切 使我的本地主机等于远程主机 git签出主机 吉特拉力 然后 git校验核心数据 git重基主控器 也试过 git校验核心数据 git合并主机

我是git的新手。我知道基本的东西,而且非常糟糕

几天前,我从一个主遥控器分支创建了一个名为
coreData
的分支

其他内容已合并到远程主机中。所以,远程主机在我用来分支的主机之前

现在我已经
coreData
完成了。我想在上面打开一个pull请求,这样它就可以合并到master中

我已经尽了我所知的一点点努力来解决这个问题

我到目前为止所做的一切

使我的本地主机等于远程主机

  • git签出主机
  • 吉特拉力
然后

  • git校验核心数据
  • git重基主控器
也试过

  • git校验核心数据
  • git合并主机
在这两种情况下,我解决了所有的冲突,但结果并不是他们应该得到的

我想我最大的问题是
.xcodeproj

对于
xcodeproj
,这是我不理解的。见下图:

这种冲突是不可能的。它告诉我一条线正在替换所有的蓝色方块。这是不可能的。在这种情况下,我接受两者,但最终的
xcodeproj
会损坏或不正确


有办法解决这个问题吗?如果您需要更多信息,请询问,我将发布。

我不能专门谈论xcode项目文件,但是,自动生成的项目文件通常是最难使用合并冲突功能解决的(基于文本的)文件类型之一。有时候,当双方都刚刚添加了新的东西时,就很容易接受双方。不幸的是,正如你所看到的,这并不总是有效的。实际上,您试图手动编辑自动生成的文件,有时该文件具有预期和/或排序规则,如果不知道文件生成的确切细节,您可能无法手动重新创建这些规则

当这种事情发生在我身上时,我通常会尝试一下,然后在更新后的目标分支上创建一个新分支,重新进行项目级更改,然后查看新创建的项目文件。您可以简单地将该版本的项目文件复制到您的另一个分支(几乎可以正常工作),然后就可以开始了。以这种方式进行比较也有助于确定合并出错的地方。通常是某个地方缺少或不正确的GUID

旁注:您可以通过跳过签出
master
来节省工作流中的一些步骤。相反,签出分支后,您可以:

git fetch
git rebase origin/master

您甚至可以删除
master
的本地副本,从现在起,在
origin/master
上创建新的分支,并在重定基址或合并时使用相同的分支。每次你
git fetch
你都会更新你的
origin/master

副本,我觉得好像有人改变了
xcodeproj
并把它推到master。当你重新调整你新拉的主控时,这是很正常的。如果你不知道为什么更改了
xcodeproj
,那么最好问问引入这些更改的人,看看它们是否值得保存。我会试试看。谢谢