.gitignore, где я должен поместить его в свой проект xcode?

Я хочу, чтобы git игнорировал мой файл UserInterfaceState.xcuserstate в моем проекте XCode4, но где я должен поместить файл .gitignore?, он находится внутри папки .git? или из? .git находится в одной папке с файлом ProjectName.xcodeproj

Ответ 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 в корневом каталоге проекта