在 Git - Xcode iOS 上与 project.pbxproj 合并冲突
Merge conflicts with project.pbxproj on Git - Xcode iOS
虽然我已经在这里阅读过类似的评论,但在这个论坛中,我还没有找到一种可能适合无缝团队合作的方法。
如果您明白我的意思,您可能已经发现使用 git 和 Xcode 中的 project.pbxproj
文件很棘手,即使您在不同的文件中工作也是如此。
说,
- 开发人员:创建了 Foo 文件夹,将 foo.swift 添加到项目中。
- B 开发人员:创建了 Bar 文件夹,将 bar.swift 添加到项目中。
不同的路径...但是你知道,冲突!正如您可能还注意到的那样,将 project.pbxproj
排除在外并不是一种选择。
所以我的问题是:您如何以专业的方式处理此问题,Git 流程准备就绪且最简单的方法。
非常感谢大家
PS:如果重要的话,我目前正在使用 Bitbucket 和 SourceTree。
PS2:如果可能的话,我想避免命令行和手动文件编辑。
创建一个 .gitattributes
文件并添加以下行:
*.pbxproj merge=union
合并将自动进行,您无需进行任何操作。
或者,您可以尝试 mergepbx,它会进行更智能的合并。
- 新文件仅由 "main-develop" 分支上的一名开发人员创建。
- 将新文件推送到 "main-develop"
- 这些文件是其他开发者拉取后实现的
我是 Kintsugi 的主要作者,该工具可以智能地合并冲突并承诺自动解决 project.pbxproj
文件中发生的 99.9% 的冲突。
自述文件还包含有关如何将其设置为 Git 合并驱动程序的说明,因此只要 *.pbxproj
文件中发生冲突,就会自动应用它。我不知道 Sourcetree 有什么方法可以做到这一点,但是对于大多数设置后的冲突,您不必再次触摸命令行。
虽然我已经在这里阅读过类似的评论,但在这个论坛中,我还没有找到一种可能适合无缝团队合作的方法。
如果您明白我的意思,您可能已经发现使用 git 和 Xcode 中的 project.pbxproj
文件很棘手,即使您在不同的文件中工作也是如此。
说,
- 开发人员:创建了 Foo 文件夹,将 foo.swift 添加到项目中。
- B 开发人员:创建了 Bar 文件夹,将 bar.swift 添加到项目中。
不同的路径...但是你知道,冲突!正如您可能还注意到的那样,将 project.pbxproj
排除在外并不是一种选择。
所以我的问题是:您如何以专业的方式处理此问题,Git 流程准备就绪且最简单的方法。
非常感谢大家
PS:如果重要的话,我目前正在使用 Bitbucket 和 SourceTree。
PS2:如果可能的话,我想避免命令行和手动文件编辑。
创建一个 .gitattributes
文件并添加以下行:
*.pbxproj merge=union
合并将自动进行,您无需进行任何操作。
或者,您可以尝试 mergepbx,它会进行更智能的合并。
- 新文件仅由 "main-develop" 分支上的一名开发人员创建。
- 将新文件推送到 "main-develop"
- 这些文件是其他开发者拉取后实现的
我是 Kintsugi 的主要作者,该工具可以智能地合并冲突并承诺自动解决 project.pbxproj
文件中发生的 99.9% 的冲突。
自述文件还包含有关如何将其设置为 Git 合并驱动程序的说明,因此只要 *.pbxproj
文件中发生冲突,就会自动应用它。我不知道 Sourcetree 有什么方法可以做到这一点,但是对于大多数设置后的冲突,您不必再次触摸命令行。