Я хочу, чтобы git игнорировал мой файл UserInterfaceState.xcuserstate
в моем проекте XCode4, но где я должен поместить файл .gitignore
?, он находится внутри папки .git
? или из? .git
находится в одной папке с файлом ProjectName.xcodeproj
.gitignore, где я должен поместить его в свой проект xcode?
Ответ 1
У вас может быть .gitignore
в каждой отдельной директории вашего проекта.
Однако наилучшей практикой является наличие одного файла .gitignore
в корневом каталоге проекта и размещение всех файлов, которые вы хотите игнорировать, например:
ignoredFile.whatever
ignoredDirectory/*
directory/ignoredFileInsideDirectory
.svn
После создания файла .gitignore
файлы игнорирования, имеющие изменения или новые в репозитории, не будут отображаться как ожидающие фиксации.
У вас также может быть один глобальный локальный файл git ignore, который будет управлять всеми вашими репозиториями git.
git config --global core.excludesfile ~/.gitignore_global
Эта альтернатива особенно интересна для игнорируемых файлов, не связанных с проектом, таких как связанные с IDE файлы и т.д.
Ответ 2
Есть ли способы игнорировать файлы в git:
- Глобальный git игнорировать:. В этом подходе ваши пользовательские правила будут применяться к каждому каталогу git на вашем компьютере. Обычно этот файл может быть создан в
~/.gitignore_global
. Этот подход хорош, если вы хотите исключить некоторые файлы типов, которые генерируются ОС или любые другие инструменты ведения журнала, обналичивания и т.д. - Per-repository git ignore:. В этом подходе ваши пользовательские правила будут применены к определенному каталогу git на вашем компьютере. Локальные правила для каждого репозитория могут быть добавлены в файл
.git/info/exclude
в вашем репозитории. Правила, указанные в этом файле, не будут что означает, что он не будет передан другим. Как правило, этот подход полезен для предотвращения сбоя локально сгенерированных файлов. Например, для файлов, созданных вашим редактором. - В пути git ignore:. В этом случае ваши настраиваемые правила будут применены к определенному подходу git repositories. Вы можете создать
.gitignore
в любом подпункте вашего конкретного репозитория. Обычно этот подход игнорирует некоторые типы файлов только в определенной папке конкретного репозитория. Хотя эти файлы могут быть добавлены к управлению версиями другими путями и другими репозиториями.
Итак, Мое предложение вам, если вы хотите игнорировать ваш конкретный файл (UserInterfaceState.xcuserstate
) во всех репозиториях, лучшим подходом является использование глобального подхода git ignore. Однако, если ваш файл сгенерирован только в конкретном репозитории, вы можете использовать подход "за-репозиторий" git игнорировать.
Для получения дополнительной информации вы можете прочитать этот отличный пост в блоге. И там на конкретный язык git правила игнорирования могут быть основаны здесь. И вы можете автоматически генерировать общие правила git игнорировать определенный язык, инструмент или os, используя этот веб-сайт.
Ответ 3
Вы должны поместить файл .gitignore в корневой каталог проекта.
Ответ 4
где я должен положить файл
.gitignore
?, он находится внутри папки .git?
В папке .git
отсутствует .gitignore
.
Тем не менее, файл .git/info/exclude
, который позволяет вам локально локализовать файл, обычно, когда вы хотите исключить файл только для этого конкретного репо (с псевдоним вроде этого):
git config alias.exclude "!sh -c 'echo \"$1\" >> .git/info/exclude' -"
git exclude UserInterfaceState.xcuserstate
Если вам нужно исключить этот файл для всего аналогичного проекта, как Эльнур Абдурахимов, упомянутый в его ответе, исключить его глобально.
echo UserInterfaceState.xcuserstate >> ~/.gitignore
Но, как упоминалось в "Нужно ли нам проверять *.xcuserstate?", если это тип файла, который должен игнорировать любой пользователь из этот репо, я бы на самом деле имел версию .gitignore в верхней части репо с содержимым, аналогичным:
*.xcuserstate
Таким образом, любой пользователь этого репо даже не поймет, что этот файл существует и сгенерирован (независимо от его имени): он не будет отображаться в git status
когда-либо.
Или вы можете игнорировать xcuserdata/
полностью (либо в глобальном .gitignore
, либо в версиях, например общий файл GitHub Objective-C.gitignore
.
Ответ 5
Вы не должны помещать файлы конкретных инструментов в файл проекта .gitignore
, если только этот инструмент не должен использоваться каждым разработчиком проекта.
Вместо этого создайте свой персональный глобальный файл .gitignore
в своем домашнем каталоге и активируйте его:
git config --global core.excludesfile ~/.gitignore
Теперь вы можете поместить все файлы, созданные вашими инструментами разработки, в ваш файл .gitignore
.
Ответ 6
как правило, рекомендуется использовать файл .gitignore
в корневом каталоге проекта