Должен ли файл рабочей области Xcode 4 контролироваться версиями?

#version-control #xcode4

#контроль версий #xcode4

Вопрос:

Я использую рабочую область для нового проекта Xcode 4. Должен ли *.xcworkspace файл быть включен в основной репозиторий (например, вместе с исходными файлами проекта)?

Спасибо, Росс

кстати. Я использую GIT

Ответ №1:

Вероятно, да. Рабочая область — это, по сути, набор проектов, поэтому, если другие разработчики захотят работать с тем же набором, вам следует перевести рабочую область в режим контроля версий.

Если рабочая область предназначена исключительно для вашего собственного использования или если в рабочей области есть только один проект, то, возможно, вам не нужно переводить его в систему управления версиями. Но это означает, что вам нужно будет создавать его заново всякий раз, когда вы переходите на новую машину или решаете все выбросить и начать с нуля.

Xcode 4 довольно хорош в том, что касается размещения пользовательских данных в папках / файлах, имена которых содержат слово «user» или ваше имя пользователя, и размещения продуктов сборки и временных файлов где-то за пределами дерева исходных текстов, поэтому в целом я бы поместил в репозиторий все, что явно не относится к конкретному пользователю.

Комментарии:

1. Не следует ли нам поместить его как xxx.workspace.dist или что-то в этом роде?

2. Черт возьми, я вижу, что другие люди в Интернете рекомендуют НЕ контролировать версии файла рабочей области. Полагаю, моя рекомендация заключается в том, чтобы делать все, что вы сочтете полезным для вашего конкретного рабочего процесса.

3. Я имел в виду xxx.workspace.dist пример рабочей области для начала, когда вы только что клонируете проект. Итак, основная рабочая область не отслеживается, но у вас все еще есть отправная точка.

Ответ №2:

На самом деле Xcode использует некоторые специфические настройки .gitignore. Возможно, вы захотите создать образец проекта, разрешив Xcode использовать Git (это в диалоговом окне сохранения проекта как, это последний шаг создания нового проекта), затем проверьте .gitignore в его корневом каталоге.

Комментарии:

1. На самом деле похоже, что Xcode теперь добавляет только 2 вещи в info / exclude, а не игнорирует. .DS_Store amp; UserInterface.xcuserstate Эти две вещи кажутся не очень информативными. (Xcode 4.3.2)

2. Похоже, что xcuserstate — это текущее состояние пользовательского интерфейса рабочей области (например, какие папки развернуты в навигаторе проекта). Если вы этого не сделаете .gitignore те, у вас будут изменения (и, следовательно, необходимость фиксации) каждый раз, когда вы касаетесь пользовательского интерфейса Xcode, даже если вы не изменяете какой-либо код.