#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, даже если вы не изменяете какой-либо код.