当我们将核心数据模型文件置于版本控制下时,我们总会有一段可怕的时间合并更改 - 我们发现避免必须手动合并更改的唯一可靠的方法是在团队之间进行通信以阻止关闭对模型的访问,而一个人进行必要的更改和推送,然后是下一个人等。 当然有更好的方法来处理这个问题,但作为一个git新手,没有明显的解决方案。 有什么建议吗?我该如何理解版本控制和核心数据模型?
回答
据我所见,目前还没有一种比较安全的方式,因为模型存储的格式不适合合并。通常情况下,我会按照您的要求进行操作,一次有一个人在模型上工作以避免碰撞。
只要您开始维护迁移映射模型,至少您可以比较数据模型并查看更改。 在数据模型的SCM修订中,相同的比较功能也很棒,并且会使生活变得更容易。
谢谢马丁 - 我们来看看这个。 – 2010-07-02 20:43:31
虽然没有办法解决核心数据模型的合并问题,但我为核心数据模型文件创建了一个git diff驱动程序,它应该使事情变得更容易一些(请参阅README了解如何设置它的说明)
https://github.com/chaitanyagupta/XCDataModelPrinter
一旦你设置XCDataModelPrinter为您的git-DIFF驱动程序,你可以做一些事情,使合并更容易一点:
在我们的分支
对模型所做的评论变更git diff other-branch...my-branch -- /path/to/model
次
在另一个分支
git diff my-branch...other-branch -- /path/to/model
对模型所做的评论变更审核完更改后,让我们试着做我们的分支合并:
git merge other-branch
如果混帐没” t报告合并冲突,然后查看合并结果(在这种情况下,您将看到组合差异)
git diff --cached /path/to/model
如果th合并导致冲突,可以采用以下两种路径之一:在自己的分支中检出模型文件,并手动添加对另一个模型的更改,反之亦然。假设你要使用的第一路径:
退房模式的转变在我们自己的分支:
git checkout --ours -- /path/to/model
使用上面的diff命令中的其他分支中所做的更改,手动添加这些变化和综述:
git diff -- /path/to/model
一旦你感到满意,只是混帐添加模型文件,以便它不再标记为未合并,并承诺:
git add /path/to/model
git commit
- 1. 核心数据模型版本控制和数据迁移
- 2. 核心数据和版本控制
- 3. 核心数据版本控制和SVN
- 4. 何时版本核心数据模型
- 5. 核心数据模型版本问题
- 6. 核心数据版本控制,始终加载以前版本
- 7. Xcode 4核心数据模型版本 - 设置当前版本
- 8. .net核心版本控制地狱。理解project.json
- 9. 核心数据版本控制和自定义策略迁移
- 10. 核心数据版本控制和迁移
- 11. 核心数据迁移和版本控制
- 12. 核心数据中的版本化数据模型集成
- 13. 如何确定我正在使用核心数据模型的正确版本?
- 14. 为什么我的sqlite数据库在版本控制核心数据模型时没有被迁移?
- 15. 核心数据版本
- 16. 处理核心数据模型更改
- 17. 核心数据模型
- 18. Xcode 4.2核心数据模型版本问题
- 19. 当有核心数据模型的新版本确定
- 20. 添加新版本的核心数据模型?
- 21. 从appDelegate检索核心数据模型版本
- 22. 使用mergeModelFromBundles合并两个模型创建MOM时版本控制的一种核心数据模型:
- 23. 如何清除和重置核心数据数据模型
- 24. 模型对象和核心数据
- 25. 模型版本控制与数据管理有什么区别?
- 26. iPhone - 核心日期模型版本控制 - 事后的版本控制?与project.pbxproj问题?
- 27. 模型控制器抽象与核心数据
- 28. 如何控制iCloud何时同步我的核心数据?
- 29. 当我尝试添加新版本的核心数据模型时Xcode崩溃
- 30. 我应该如何在版本控制中处理Sphinx配置?
谢谢马库斯。我们的沟通必须更加严谨! – 2010-07-02 20:42:40