Что должен содержать файл Xcode 6 gitignore?

225

Что следует .gitignoreвключить в Xcode 6?

Также для информации относительно xccheckoutвведенного в Xcode 5 см. Здесь

Эпический Байт
источник
51
Это не вопрос, основанный прежде всего на мнениях. Есть файлы, которые git всегда должен игнорировать в XCode, такие программные файлы, как xcuserdata. Выбор исключить их никоим образом не основан на мнении.
Дермот
4
Я второй Дермот на этом! Не игнорирование некоторых файлов приводит к ошибкам, поэтому существует определенная лучшая практика. Половина примеров кода, представленных в SO-ответах, может рассматриваться как мнения, поскольку существуют и другие способы ведения дел, но существуют общепринятые передовые практики и стандарты де-факто.
ярость
2
Может быть, частично закрыт, потому что здесь есть исчерпывающий ответ: stackoverflow.com/questions/49478/… . В моем исследовании вы не правы, когда говорите, что .xccheckout следует игнорировать, но это не на 100% ясно, и я зафиксировал ошибку, когда Apple просила дать официальный ответ.
Адам

Ответы:

276

1)

Самый простой ответ - мой выглядит так:

# Xcode
.DS_Store
build/
*.pbxuser
!default.pbxuser
*.mode1v3
!default.mode1v3
*.mode2v3
!default.mode2v3
*.perspectivev3
!default.perspectivev3
*.xcworkspace
!default.xcworkspace
xcuserdata
profile
*.moved-aside
DerivedData
.idea/
# Pods - for those of you who use CocoaPods
Pods

я считаю, что это тот же самый .gitignore, который GitHub устанавливает со всеми своими репозиториями по умолчанию.

2)

Другой ответ заключается в том, что существует веб-сайт под названием «gitignore.io» , который генерирует файлы на основе шаблонов .gitignore по адресу https://github.com/github/gitignore .

Майкл Даутерманн
источник
10
не забудьте удалить xcworkspace, если вы используете какао-стручки, если интегрируете зацепки после коммита, например, с travis
Ivor Prebeg
3
Я исследовал все файлы - cf stackoverflow.com/questions/49478/… - различные, негласные участники проекта github явно не заметили (я неоднократно вижу вещи, которые должны быть там, но отсутствуют, и (что еще хуже) наоборот ). Очевидно, я не буду беспокоиться о том, чтобы отслеживать / комментировать что-то, что явно плохо поддерживается для начала :) - я просто сдался и вместо этого написал рабочий .gitignore и поделился им со StackOverflow
Адам
2
Cocoapods предлагает дважды подумать об игнорировании Pods: guides.cocoapods.org/using/… ?
ericsoco
3
Что бы это ни стоило, я потратил некоторое время на изучение различных файлов Xcode и Cocoapods .gitignore, и этот, кажется, работает лучше всего для меня. Папка Pods по праву игнорируется, поскольку она является сгенерированным конечным состоянием. Также включен файл Podfile.lock, который предоставляет ценные метаданные о состоянии сборки во время различных фиксаций.
Мэтт Вукас
4
.idea/нужен только тем, кто пользуетсяAppCode
Wanbok Choi
57

Если вы создаете новый проект с нуля в Xcode 6 ... больше нет необходимости в длинном файле .gitignore, как я указывал в своем последнем посте : Apple оптимизировала стандартную структуру файлов и папок проекта, чтобы соответствовать требованиям для ясный и прямой git коммит. Apple также игнорирует два шаблона файлов по умолчанию, если вы создаете репозиторий git с шаблоном проекта Xcode:

.DS_Store
UserInterfaceState.xcuserstate

Они добавили их в ваш .git/info/excludesфайл в каталоге вашего проекта. Поэтому нет необходимости повторно игнорировать их в .gitignore :-)

Единственное, что я всегда включаю в .gitignoreфайл, это

# Exclude personal Xcode user settings
xcuserdata/ 
crosscode
источник
2
Не могли бы вы поставить третью строку в верхнюю часть, чтобы мне не приходилось копировать дважды каждый раз, когда я прихожу к этому ответу, пожалуйста? Я надеюсь, что он также получит 133 голосов!
Дэн Розенстарк
3
@ Яр ... как я описал выше: единственная строка, которая вам нужна в вашем файле .gitignore, это исключение xcuserdata /. Две другие строки уже обработаны Apple по умолчанию. Поэтому нет необходимости копировать эти три строки в ваш файл .gitignore.
кросс-код
1
Ой! Вот это да. Это на самом деле то, что я могу напечатать вручную. Отличный материал, спасибо за обмен и удачи здесь на SO.
Дэн Розенстарк
6

Обратитесь к файлу Xcode.gitignore Github, чтобы всегда иметь обновленный список файлов Xcode, которые следует игнорировать.

whyceewhite
источник