Мне интересно, имеет ли параметр merge = union в .gitattributes смысл для файлов .pbxproj.
Позиция manpage для этой опции:
Запустите трехстороннее выравнивание уровня файла для текстовых файлов, но возьмите строки из обеих версий, вместо того, чтобы оставлять маркеры конфликта. Это имеет тенденцию оставлять добавленные строки в результирующем файле в случайном порядке, и пользователь должен проверить результат.
Как правило, это должно быть хорошо для 90% случаев добавления файлов в проект. У кого-нибудь есть опыт с этим?