Що має містити файл gitignore Xcode 6?


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
Adam

2
Cocoapods пропонує двічі подумати над ігноруванням Pods: guides.cocoapods.org/using/… ?
ericsoco

3
Що я того вартий, я витратив деякий час на дослідження різних файлів .gitignore Xcode & Cocoapods. Це, здається, найкраще працює для мене. Папка 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/ 

2
Чи проти занести третій рядок у верхній твір, тож мені не потрібно копіювати двічі кожен раз, коли я приходжу до цієї відповіді, будь ласка? Я сподіваюся, що він отримає і 133 оновлення!
Дан Розенстарк

3
@Yar ... як я описав вище: єдиний рядок, який вам потрібен у вашому файлі .gitignore, - виключення xcuserdata /. Інші два рядки за замовчуванням уже обробляються Apple. Тому не потрібно копіювати ці три рядки у файл .gitignore.
перехресний код

1
Ой! Ого. Це насправді те, що я можу набрати вручну. Чудовий матеріал, дякую за обмін та удачу тут, отак.
Дан Розенстарк

6

Зверніться до файлу Xith.gitignore Github, щоб завжди мати оновлений список, які файли Xcode слід ігнорувати.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.