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

我已经从Github克隆了mapbox-ios-sdk并对其进行了破解,现在远程主服务器已更改。当我尝试将远程更改拉到本地时,合并后,项目文件中将存在合并冲突。 (具体来说,我是指.xcodeproj中的project.pbxproj)

我真的不认为应该将项目文件置于忽略状态,因为如果项目文件中有任何新文件,则.pbxproj文件似乎已更改。 (或者我只是犯错了,应该忽略此文件?但是显然,在开始时并未在mapbox-ios-sdk中忽略它。人们毕竟需要项目文件。)但是我也运行了在与另一个协作者进行协作项目之前就陷入了这种冲突,这使我无法完全使用Git。

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

最佳答案

当您将新文件添加到项目时,.pbxproj将会更改。如果两个或多个协作者同时添加文件(不会先获取彼此的更改),则会发生冲突。在我的项目中,通过添加新文件之前和之后执行以下步骤来避免这种情况:

  • 在添加文件之前,先进行更改,然后从主服务器上获取最新版本。如果有人添加了文件,则现在拥有最新的.pbxproj
  • 添加您的文件。
  • 立即提交更改并将其推送到主服务器(希望在其他协作者添加另一个文件之前)。

  • 这太不可思议了,但是我们不喜欢手动解决.pbxproj冲突。

    另外,请参见此堆栈溢出问题,并提供出色的响应:How to use Git properly with XCode?

    关于xcode - Xcode项目文件git merge 冲突,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/12907605/

    10-14 16:04
    查看更多