Ios Git,如何为故事板和.xib文件设置.Git属性
背景:git或任何其他SCM可以“成功”合并故事板、xib和pbxproj文件,因为它们的核心只是xml。有时,有些冲突可以通过通常的冲突解决策略来解决。但是xib和故事板是一些相当复杂的数据结构的序列化格式,所以有趣的开始了 与其他源代码一样,成功的合并并不能保证所有合并的更改都能正常工作。对于有问题的文件,git可以成功合并,但是当您试图打开它时,Xcode有时会显示“无法读取存档”错误,即,合并损坏了xib 我看到过关于让git ignore.xibs(不实用)或在.gittattributes中通过设置禁用diff的建议Ios Git,如何为故事板和.xib文件设置.Git属性,ios,xcode,git,xib,uistoryboard,Ios,Xcode,Git,Xib,Uistoryboard,背景:git或任何其他SCM可以“成功”合并故事板、xib和pbxproj文件,因为它们的核心只是xml。有时,有些冲突可以通过通常的冲突解决策略来解决。但是xib和故事板是一些相当复杂的数据结构的序列化格式,所以有趣的开始了 与其他源代码一样,成功的合并并不能保证所有合并的更改都能正常工作。对于有问题的文件,git可以成功合并,但是当您试图打开它时,Xcode有时会显示“无法读取存档”错误,即,合并损坏了xib 我看到过关于让git ignore.xibs(不实用)或在.gittattribu
*.xib -crlf -diff
从技术上讲,这解决了合并冲突/损坏的xib问题-但现在有人的更改丢失了
类似地,我看到的关于项目文件的最佳建议是merge=union in.gittributes:
*.pbxproj merge=union
问题:我已经搜索了很多次,似乎没有一个好的解决方案。有经验的人能告诉我在一些用例中会发生什么吗
- 我能同时看到x和Y吗李>
- fileA是否会重新出现,因为它仍在其他程序员的.pbxproj中李>
- 文件还会在那里吗,因为它还在我的.pbxproj里
现在我不会为项目文件或NIB设置任何特定的
.gittributes
合并对Xcode项目和XIB/故事板的并发更改的问题存在于每个有多个开发人员的团队中
Xcode项目
处理Xcode项目冲突的一些技巧:
- 采取合并的一侧,并在合并后手动应用其他更改。如果您删除了文件,它们将显示为红色,如果您需要添加它们,它们将可以添加
- 将文件添加到目标时,它们将进入“编译源代码”构建阶段的底部。通过将其他人向上拖动到随机位置,避免与其他人发生冲突
- 使用
文件而不是生成设置部分。配置文件很容易合并.xcconfig
- XIB更小(代码行更少)
- 开发人员可以轻松地读取XML并理解它在用户界面中指定的内容
- 合并XIB现在不太可能导致破裂的XIB。在此之前,我们很少尝试合并XIB或故事板
谢谢Jessedc。对于XIB和故事板,我想您提到的格式在最近几个月发生了显著变化意味着Xcode5?