在Xcode中,避免项目文件中Git冲突的最佳方法是什么?(我是手动git,没有使用Gcode的Xcode接口)
我从Github克隆了mapbox-ios-sdk,攻击它,现在远程主机已经改变了.当我尝试将远程更改拉到我的本地时,合并后会在项目文件中出现合并冲突.(具体来说,我的意思是.xcodeproj中的project.pbxproj)
我真的不认为项目文件应该放入忽略,因为如果项目文件中有任何新文件,.pbxproj文件似乎会被更改.(或者我只是完全错了,这个文件应该被忽略了?但显然它在mapbox-ios-sdk中没有被忽略.毕竟人们需要项目文件.)但我也跑了在我与另一个合作者的合作项目之前进入这场冲突,这让我完全无法使用Git.
我应该弄清楚如何手动解决冲突,还是有更好的方法来解决这个问题?
cma*_*mac 28
将新文件添加到项目时,.pbxproj将更改.如果两个或多个协作者同时添加文件(没有先获得彼此的更改),则会发生冲突.我们在项目中通过在添加新文件之前和之后执行以下步骤来避免这种情况:
它很懦弱,但我们不喜欢手动解决.pbxproj冲突.
此外,请参阅此Stack Overflow问题并提供出色的响应:如何在XCode中正确使用Git?
War*_*zit 17
许多网站只是建议使用.gitattribute文件:
*.pbxproj merge=union
在尝试使用脚本之前,我们将尝试这种方法.如果我们发现任何问题,我一定会更新这篇文章.如果其他人对此方法有意见,请包含.
您应该检查我的脚本xUnique,它现在是在 Apple 对其采取行动之前合并 Xcode 项目文件的最佳解决方案。
project.pbxproj为 JSON 格式objects在 JSON 中迭代所有内容并为每个 UUID 提供一个绝对路径,并使用路径的 MD5 十六进制摘要创建一个新的 UUID
children,files,PBXFileReference和PBXBuildFile列表,并删除这些列表中的所有重复的条目
sort_pbxproj如果您想了解实现,请参阅xUnique.py 中的方法;sort-Xcode-project-file,在排序PBXFileReference和PBXBuildFile 检查README文件以获取更多详细信息。
| 归档时间: |
|
| 查看次数: |
38660 次 |
| 最近记录: |