Git игнорировать файл для проектов Xcode - PullRequest
853 голосов
/ 08 сентября 2008

Какие файлы я должен включить в .gitignore при использовании Git в сочетании с Xcode ?

Ответы [ 20 ]

8 голосов
/ 13 ноября 2015

добавление .gitignore файла для

MAC OS X + XCode + Swift

Вот как я добавил файл .gitignore в свой проект Swift

  1. Выберите свой проект в XCode и щелкните правой кнопкой мыши -> Новая группа -> Назовите ее " Git "
  2. Выберите папку Git и щелкните правой кнопкой мыши -> Добавить новый файл
  3. В пределах вкладка iOS -> выбрать Другое -> пустой файл

enter image description here

  1. укажите здесь имя файла " .gitignore "

enter image description here

  1. Подтвердите имя файла и введите

enter image description here

Вот структура результата

enter image description here

  1. открыть файл и код ниже

# file

#########################################################################
#                                                                       #
#       Title         - .gitignore file                                 #
#       For           - MAC OSX , Xcode7 and Swift Source projects      #
#       Updated by    - Ramdhan Choudhary                               #
#       Updated on    - 13 - November - 2015                            #
#                                                                       #
#########################################################################

########### Xcode ###########
# Xcode temporary files that should never be committed

## Build generated
build/
DerivedData

# NB: NIB/XIB files still exist even on Storyboard projects, so we want this
*~.nib
*.swp

## Various settings
*.pbxuser
!default.pbxuser
*.mode1v3
!default.mode1v3
*.mode2v3
!default.mode2v3
*.perspectivev3
!default.perspectivev3
xcuserdata

## Other
*.xccheckout
*.moved-aside
*.xcuserstate
*.xcscmblueprint
*.xcscheme

########### OSX ###########
# OS X temporary files that should never be committed

.DS_Store
.AppleDouble
.LSOverride

# Icon must end with two \r
Icon


# Thumbnails
._*

# Files that might appear in the root of a volume
.DocumentRevisions-V100
.fseventsd
.Spotlight-V100
.TemporaryItems
.Trashes
.VolumeIcon.icns

# Directories potentially created on remote AFP share
.AppleDB
.AppleDesktop
Network Trash Folder
Temporary Items
.apdisk

########## Obj-C/Swift specific ##########
*.hmap
*.ipa

# CocoaPods
#
# We recommend against adding the Pods directory to your .gitignore. However
# you should judge for yourself, the pros and cons are mentioned at:
# https://guides.cocoapods.org/using/using-cocoapods.html#should-i-check-the-pods-directory-into-source-control
#
# Pods/

# Carthage
#
# Add this line if you want to avoid checking in source code from Carthage dependencies.
# Carthage/Checkouts

Carthage/Build

# fastlane
#
# It is recommended to not store the screenshots in the git repo. Instead, use fastlane to re-generate the

fastlane/report.xml
fastlane/screenshots

Хорошо благодаря Адаму , его ответ мне очень помог, но все же мне пришлось добавить еще несколько записей, как я хотел .gitignore для

MAC OS X + XCode + Swift

Ссылки: это и это

6 голосов
/ 16 октября 2013

Для XCode 5 я добавляю:

####
# Xcode 5 - VCS metadata
#
*.xccheckout

С Ответ Берика

4 голосов
/ 12 августа 2015

Я использую следующий файл .gitignore, созданный в gitignore.io:

### Xcode ###
build/
*.pbxuser
!default.pbxuser
*.mode1v3
!default.mode1v3
*.mode2v3
!default.mode2v3
*.perspectivev3
!default.perspectivev3
xcuserdata
*.xccheckout
*.moved-aside
DerivedData
*.xcuserstate


### Objective-C ###
# Xcode
#
build/
*.pbxuser
!default.pbxuser
*.mode1v3
!default.mode1v3
*.mode2v3
!default.mode2v3
*.perspectivev3
!default.perspectivev3
xcuserdata
*.xccheckout
*.moved-aside
DerivedData
*.hmap
*.ipa
*.xcuserstate

# CocoaPods
#
# We recommend against adding the Pods directory to your .gitignore. However
# you should judge for yourself, the pros and cons are mentioned at:
# http://guides.cocoapods.org/using/using-cocoapods.html#should-i-ignore-the-pods-directory-in-source-control
#
Pods/
4 голосов
/ 26 сентября 2012

Я добавил:

xcuserstate
xcsettings

и поместил мой файл .gitignore в корень моего проекта.

После совершения и нажатия. Я тогда побежал:

git rm --cached UserInterfaceState.xcuserstate WorkspaceSettings.xcsettings

похоронен с папкой ниже:

<my_project_name>/<my_project_name>.xcodeproj/project.xcworkspace/xcuserdata/<my_user_name>.xcuserdatad/

Затем я запустил git commit и снова нажал

3 голосов
/ 06 февраля 2017

лучше всего,

gitignore.io

Иди и выбери свой язык, тогда он даст тебе файл.

2 голосов
/ 28 октября 2014

Вот .gitignore, который GitHub использует по умолчанию для новых репозиториев Xcode:

https://github.com/github/gitignore/blob/master/Objective-C.gitignore

Вероятно, это будет разумно правильно в любой момент времени.

0 голосов
/ 15 января 2018

Я рекомендую использовать joe для создания файла .gitignore.

Для проекта iOS выполните следующую команду:

$ joe g osx,xcode > .gitignore

Это сгенерирует это .gitignore:

.DS_Store
.AppleDouble
.LSOverride

Icon
._*

.DocumentRevisions-V100
.fseventsd
.Spotlight-V100
.TemporaryItems
.Trashes
.VolumeIcon.icns

.AppleDB
.AppleDesktop
Network Trash Folder
Temporary Items
.apdisk

build/
DerivedData

*.pbxuser
!default.pbxuser
*.mode1v3
!default.mode1v3
*.mode2v3
!default.mode2v3
*.perspectivev3
!default.perspectivev3
xcuserdata

*.xccheckout
*.moved-aside
*.xcuserstate
0 голосов
/ 02 июля 2018

Структура стандартного файла .gitignore для проекта Xcode>

.DS_Store
.DS_Store?
._*
.Spotlight-V100
.Trashes
Icon?
ehthumbs.db
Thumbs.db
build/
*.pbxuser
!default.pbxuser
*.mode1v3
!default.mode1v3
*.mode2v3
!default.mode2v3
*.perspectivev3
!default.perspectivev3
!default.xcworkspace
xcuserdata
profile
*.moved-aside
DerivedData
.idea/
0 голосов
/ 28 ноября 2018

Большинство ответов относятся к эпохе Xcode 4-5. Я рекомендую игнорировать файл в современном стиле.

# Xcode Project
**/*.xcodeproj/xcuserdata/
**/*.xcworkspace/xcuserdata/
**/*.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist
**/*.xcworkspace/xcshareddata/*.xccheckout
**/*.xcworkspace/xcshareddata/*.xcscmblueprint
.idea/

# Xcode Injection
IOSInjectionProject/
OSXInjectionProject/

# Build
build/
DerivedData

# CocoaPods
Pods/

# fastlane
fastlane/report.xml
fastlane/Preview.html
fastlane/screenshots
fastlane/test_output
fastlane/sign&cert

# CSV
*.orig
.svn

# Other
*~
.DS_Store
*.swp
*.save
._*
*.bak

Обновление: https://github.com/BB9z/iOS-Project-Template/blob/master/.gitignore

0 голосов
/ 04 сентября 2013

Мы обнаружили, что даже если вы добавите .gitignore и .gitattribte, файл * .pbxproj может быть поврежден. Итак, у нас есть простой план.

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

Как только он обновит пульт, у всех всегда будет рабочая копия. В случае, если чего-то не хватает, мы сообщаем ему добавить это, а затем снова потянем.

Это сработало для нас без проблем.

...