.gitignore, где мне поместить его в свой проект xcode?
102
Я хочу, чтобы git игнорировал мой UserInterfaceState.xcuserstateфайл в моем проекте XCode4, но куда мне поместить .gitignoreфайл? Внутри .gitпапки? или нет? .gitНаходится в той же папке с ProjectName.xcodeprojфайлом
После создания .gitignoreфайла игнорируемые файлы, которые имеют изменения или являются новыми в репозитории, не будут отображаться как ожидающие фиксации.
У вас также может быть один глобальный локальный файл игнорирования git, который будет управлять всеми вашими репозиториями git.
Этот .gitignore должен быть добавлен в источник или в вашу копию основного / локального репо?
Адиль
1
Локально (конечно, в какой-то момент вы собираетесь подтолкнуть его к источнику).
Даниэль Рибейро
21
Есть способы игнорировать файлы в git:
Global git ignore: - При таком подходе ваши пользовательские правила будут применяться к каждому каталогу git на вашем компьютере. Обычно этот файл создается по ~/.gitignore_globalпути. Этот подход хорош, если вы хотите исключить файлы некоторых типов, которые создаются ОС или любыми другими инструментами для ведения журнала, кеширования и т. Д.
Git ignore для каждого репозитория: - При таком подходе ваши пользовательские правила будут применяться к определенному каталогу git на вашем компьютере. К .git/info/excludeфайлу в вашем репозитории можно добавить локальные правила для каждого репозитория. Правила, указанные в этом файле, не будут приняты, что означает, что он не будет передан другим пользователям. Обычно этот подход полезен для предотвращения фиксации локально сгенерированных файлов. Например, для файлов, созданных вашим редактором.
Для каждого пути git ignore: - В этом случае ваши пользовательские правила будут применяться к конкретному подкаталогу репозиториев git. Вы можете создать .gitignoreв любом дополнительном пути вашего конкретного репозитория. Этот подход обычно используется для игнорирования некоторых типов файлов только в определенной папке определенного репозитория. Хотя эти файлы могут быть добавлены в контроль версий по другим путям и другим репозиториям.
Итак, я предлагаю вам игнорировать свой конкретный файл ( UserInterfaceState.xcuserstate) во всех ваших репозиториях, лучший подход - использовать глобальный подход git ignore. Однако, если ваш файл создается только в определенном репозитории, вы можете использовать подход git ignore для каждого репозитория.
Для получения дополнительной информации вы можете прочитать этот отличный пост в блоге. И на язык конкретных GIT игнорирующие правила могут быть основаны здесь . И вы можете автоматически сгенерировать общие правила игнорирования git для определенного языка, инструмента или ОС, используя этот веб-сайт .
Куда мне поместить .gitignoreфайл? Он находится в папке .git?
Там нет .gitignoreВнутри .gitпапки.
Однако это .git/info/excludeфайл, который позволяет вам исключить файл локально, как правило, когда вы хотите исключить файл только для этого конкретного репо (с псевдонимом, подобным этому ):
Но, как упоминалось в разделе « Нужно ли нам проверять * .xcuserstate? », Если это тип файла, который должен игнорироваться любым пользователем этого репо, я бы фактически сделал версию .gitignore в верхней части репо, с содержанием, аналогичным:
*.xcuserstate
Таким образом, любой пользователь этого репо даже не поймет, что этот файл существует и создается (каково бы ни было его имя): он не появится в файле git statusever.
Не следует помещать файлы, относящиеся к конкретному инструменту, в файл проекта .gitignore- если только этот инструмент не требуется для использования каждым разработчиком проекта.
Вместо этого создайте свой личный глобальный .gitignoreфайл в своем домашнем каталоге и активируйте его:
Ответы:
Вы можете иметь
.gitignore
в каждом каталоге вашего проекта.Однако лучше всего иметь один
.gitignore
файл в корневом каталоге проекта и размещать в нем все файлы, которые вы хотите игнорировать, например:После создания
.gitignore
файла игнорируемые файлы, которые имеют изменения или являются новыми в репозитории, не будут отображаться как ожидающие фиксации.У вас также может быть один глобальный локальный файл игнорирования git, который будет управлять всеми вашими репозиториями git.
git config --global core.excludesfile ~/.gitignore_global
Эта альтернатива особенно интересна для игнорируемых файлов, не связанных с проектом, таких как файлы, связанные с IDE и так далее.
источник
Есть способы игнорировать файлы в git:
~/.gitignore_global
пути. Этот подход хорош, если вы хотите исключить файлы некоторых типов, которые создаются ОС или любыми другими инструментами для ведения журнала, кеширования и т. Д..git/info/exclude
файлу в вашем репозитории можно добавить локальные правила для каждого репозитория. Правила, указанные в этом файле, не будут приняты, что означает, что он не будет передан другим пользователям. Обычно этот подход полезен для предотвращения фиксации локально сгенерированных файлов. Например, для файлов, созданных вашим редактором..gitignore
в любом дополнительном пути вашего конкретного репозитория. Этот подход обычно используется для игнорирования некоторых типов файлов только в определенной папке определенного репозитория. Хотя эти файлы могут быть добавлены в контроль версий по другим путям и другим репозиториям.Итак, я предлагаю вам игнорировать свой конкретный файл (
UserInterfaceState.xcuserstate
) во всех ваших репозиториях, лучший подход - использовать глобальный подход git ignore. Однако, если ваш файл создается только в определенном репозитории, вы можете использовать подход git ignore для каждого репозитория.Для получения дополнительной информации вы можете прочитать этот отличный пост в блоге. И на язык конкретных GIT игнорирующие правила могут быть основаны здесь . И вы можете автоматически сгенерировать общие правила игнорирования git для определенного языка, инструмента или ОС, используя этот веб-сайт .
источник
Вы должны поместить файл .gitignore в корневой каталог проекта.
источник
Там нет
.gitignore
Внутри.git
папки.Однако это
.git/info/exclude
файл, который позволяет вам исключить файл локально, как правило, когда вы хотите исключить файл только для этого конкретного репо (с псевдонимом, подобным этому ):Если вам нужно исключить этот файл для всех подобных проектов, как упомянул Эльнур Абдуррахимов в своем ответе , исключите его глобально.
Но, как упоминалось в разделе « Нужно ли нам проверять * .xcuserstate? », Если это тип файла, который должен игнорироваться любым пользователем этого репо, я бы фактически сделал версию .gitignore в верхней части репо, с содержанием, аналогичным:
Таким образом, любой пользователь этого репо даже не поймет, что этот файл существует и создается (каково бы ни было его имя): он не появится в файле
git status
ever.Или вы можете полностью игнорировать
xcuserdata/
(либо в глобальном.gitignore
, либо в версионном, например в общемObjective-C.gitignore
файле GitHub .источник
Не следует помещать файлы, относящиеся к конкретному инструменту, в файл проекта
.gitignore
- если только этот инструмент не требуется для использования каждым разработчиком проекта.Вместо этого создайте свой личный глобальный
.gitignore
файл в своем домашнем каталоге и активируйте его:Теперь вы можете поместить в файл любые файлы, созданные вашими инструментами разработки
.gitignore
.источник
Обычно рекомендуется включать
.gitignore
файл в корневой каталог проекта.источник