Я хочу, чтобы git игнорировал мой UserInterfaceState.xcuserstateфайл в моем проекте XCode4, но куда мне поместить .gitignoreфайл? Внутри .gitпапки? или нет? .gitНаходится в той же папке с ProjectName.xcodeprojфайлом
Я хочу, чтобы git игнорировал мой UserInterfaceState.xcuserstateфайл в моем проекте XCode4, но куда мне поместить .gitignoreфайл? Внутри .gitпапки? или нет? .gitНаходится в той же папке с ProjectName.xcodeprojфайлом
Ответы:
Вы можете иметь .gitignoreв каждом каталоге вашего проекта.
Однако лучше всего иметь один .gitignoreфайл в корневом каталоге проекта и размещать в нем все файлы, которые вы хотите игнорировать, например:
ignoredFile.whatever
ignoredDirectory/*
directory/ignoredFileInsideDirectory
.svn
После создания .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?
Там нет .gitignoreВнутри .gitпапки.
Однако это .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 statusever.
Или вы можете полностью игнорироватьxcuserdata/ (либо в глобальном .gitignore, либо в версионном, например в общемObjective-C.gitignore файле GitHub .
Не следует помещать файлы, относящиеся к конкретному инструменту, в файл проекта .gitignore- если только этот инструмент не требуется для использования каждым разработчиком проекта.
Вместо этого создайте свой личный глобальный .gitignoreфайл в своем домашнем каталоге и активируйте его:
git config --global core.excludesfile ~/.gitignore
Теперь вы можете поместить в файл любые файлы, созданные вашими инструментами разработки .gitignore.