While there is no way to get around the problem of merging basic data models, I created a git comparison driver for master data model files that should make things a little easier (see README for configuration instructions)
https://github.com/chaitanyagupta/XCDataModelPrinter
Once you have installed XCDataModelPrinter as the git-diff driver, you can do a few things to simplify the merge:
View the changes made to the model in our branch
git diff other-branch...my-branch -- /path/to/model
View changes made to the model in another branch
git diff my-branch...other-branch -- /path/to/model
After you review the changes, try merging in our branch:
git merge other-branch
If git did not report a merge conflict, view the merge results (in this case you will see a combined diff)
git diff --cached /path/to/model
If the merge leads to a conflict, you can take one of two ways: check the model file in your branch and manually add the changes made to the other, or vice versa. Assuming you want to use the first path:
Check out the model changes in our own thread:
git checkout --ours -- /path/to/model
Using the diff command above to see the changes made in another branch, manually add these changes and view:
git diff -- /path/to/model
Once you are satisfied, simply git-add the model file so that it is no longer marked as unmerged and does:
git add /path/to/model git commit