Xcode项目文件git合并冲突?

内容来源于 Stack Overflow,并遵循CC BY-SA 3.0许可协议进行翻译与使用

  • 回答 (2)
  • 关注 (0)
  • 查看 (63)

在Xcode中,避免项目文件中的Git冲突的最佳方法是什么?(我使用的是手动git,不使用git的xcode接口)

我从Gizub克隆了Mapbox-IOS-SDK,并对其进行了黑客攻击,现在远程主机已经改变了。当我试图将远程更改拉到本地时,合并后会出现项目文件中的合并冲突。(具体来说,我指的是.xcodeproj中的project.pbxproj)

我并不认为项目文件应该放在忽略中,因为如果项目文件中有任何新文件,那么.pbxproj文件似乎就会被更改。(或者我完全错了,这个文件应该被忽略吗?)。但显然,在Mapbox-IOS-SDK中,它并不是被忽略的。毕竟,人们需要项目文件。)。但我以前在与另一个协作者的协作项目中也遇到过这种冲突,这使我无法完全使用Git。

我应该知道如何手动解决冲突,还是有更好的方法来解决这个问题?

提问于
用户回答回答于

当向项目添加新文件时,pbxproj将发生更改。如果两个或多个协作者同时添加文件(而不首先得到对方的更改),就会发生冲突。在我的项目中,我们通过在添加新文件之前和之后遵循以下步骤来避免这一点:

  1. 在添加文件之前,提交你的更改,然后从主服务器中提取,以便拥有最新的文件。如果有人添加了一个文件,那么现在有了最新的.pbxproj
  2. 添加你的文件。
  3. 立即提交并将更改推送到主服务器(希望在另一个协作者添加了另一个文件之前)。

这是很小的,但我们不喜欢手动解决.pbxproj冲突。

用户回答回答于

许多网站只是建议使用.gitproperties文件,其中包括:

*.pbxproj merge=union

在尝试使用脚本之前,我们将尝试这种方法。如果我们发现任何问题,我一定会更新这篇文章。另外,如果其他人对此方法有评论,请包括。

扫码关注云+社区