Зачем нужен .gitignore и как им пользоваться

January 21, 2020

.gitignore - это указание Git-у, какие файлы нужно пропустить, игнорировать и не добавлять в репозиторий. Скрытый файл добавляется в директорию с проектом, в которой создается git-репозиторий. Это нужно, например, чтобы не таскать в проекте сторонние библиотеки, которые могут часто обновляться, личные файлы и другие документы, которые не хочется палить. В Xcode такими могут быть директории xcuserdata, xcshareddata, а также Pods, где хранятся поды. При скачивании вашего проекта другим пользователем понадобится загрузить необходимые поды, для этого в проекте остаётся Podfile.

Его необходимо устанавливать до создания репозитория, иначе в него будут добавлены все файлы, и потом чтобы удалить их, придётся делать лишние действия. Мой .gitignore выглядит так:

.DS_Store
*.xcworkspace/xcuserdata
*.xcworkspace/xcshareddata
*/*.xcodeproj/project.xcworkspace
xcuserdata
Pods

Если в проекта используется, например, Firebase, то стоит добавить туда и .plist-файл, в котором указаны приватные данные, ключи и токены:

НАЗВАНИЕ ПРОЕКТА/GoogleService-Info.plist

Если же вы забыли создать этот файл или появились файлы, которые нужно скрыть, это можно сделать с помощью терминала, предварительно обновив сам .gitignore:

git commit -a -m "Pre .gitignore changes"
git rm -r --cached .
git add .
git commit -a -m "Post .gitignore changes"

git должен сказать "nothing to commit (working directory clean)"

git push