Хотя нет способа обойти проблему слияния базовых моделей данных, я создал драйвер 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
Если git не сообщил о конфликте слияния, просмотрите результаты слияния (в этом случае вы увидите комбинированный дифференциал)
git diff --cached /path/to/model
Если слияние произошлов конфликте вы можете выбрать один из двух путей: проверить файл модели в своей собственной ветке и вручную добавить изменения, сделанные в другом, или наоборот.Предполагая, что вы хотите использовать первый путь:
Проверьте изменения модели в нашей собственной ветке:
git checkout --ours -- /path/to/model
Используя команду diff выше, чтобы увидеть изменения, сделанные в другой ветке, вручнуюдобавьте эти изменения и просмотрите:
git diff -- /path/to/model
Как только вы будете удовлетворены, просто добавьте git-файл модели, чтобы он больше не помечался как необработанный, и подтвердите:
git add /path/to/model
git commit