Должен ли я git игнорировать файл xcodeproject / project.pbxproj? - PullRequest
89 голосов
/ 06 ноября 2011

в проекте XCode я изменил файл xcodeproject / project.pbxproj, но для меня бесполезная информация, это для компиляции.

Должен ли я git игнорировать этот файл и файл xcodeproject / projectxworkspace / username.xcuserdata / UserInterfaceState.xcuserstate?

Ответы [ 6 ]

120 голосов
/ 06 ноября 2011

Обновление в свете диспетчера пакетов Swift: Если вы создаете проект как пакет Swift - вам определенно следует игнорировать этот файл, поскольку он может быть создан с использованием файловой системы в качестве источника правды.Вы можете сделать это с помощью следующей команды:

$ cd ~/Projects/MyProjectFolder/
$ swift package generate-xcodeproj

Для ответа не SwiftPM - см. Ниже.

Этот файл содержит список всех файлов в проекте, настройки целейи какие файлы принадлежат к каким целям.Это, пожалуй, самый длинный файл в комплекте проекта.Вы не должны игнорировать этот файл.Для этого есть несколько моментов:

  1. Возможно, вы не захотите работать над этим проектом в одиночку или
  2. Вы планируете работать над проектом с разных машин;
  3. Вы захотите поделиться своей кодовой базой с другими;
6 голосов
/ 06 ноября 2011

Это единственный файл, который вы хотите в своих репозиториях из комплекта xcodeproj. Этот файл содержит всю информацию о целевых файлах и настройках сборки.

4 голосов
/ 23 июля 2014

Если вы исключите project.pbxproj, сборки Jenkins завершатся неудачно. Так что это важно, если вы используете Дженкинс.

3 голосов
/ 29 августа 2012

К сожалению, если в ваших настройках сборки есть подпись кода, вам придется повторно вводить объект подписи кода после каждого «git pull», если другой член команды изменил его.Мне кажется, эта информация должна быть в настройках пользователя, а не в глобальном файле pbxproj.

0 голосов
/ 15 июля 2019

Вы можете использовать Xcodegen для генерации pbxproj из файла спецификации проекта YAML, тогда вы можете игнорировать pbxproj в git и генерировать их каждый раз, когда вам нужно.

Я уже использовал Xcodegen во втором проекте, который имеет модульную архитектуру (много pbxprojs), и над ним работает более 8 разработчиков.

https://github.com/yonaskolb/XcodeGen

Надеюсьэто помогает.

0 голосов
/ 17 ноября 2011

Я обнаружил, что мне также нужно сохранить файл (ы) xcworkspace. Если нет, проект с подпроектом сломался.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...