Обычно да, .gitignoreэто полезно для всех, кто хочет работать с хранилищем. Иногда вам захочется игнорировать более личные вещи (возможно, вы часто создаете LOGили что-то в этом роде. В этих случаях вы, вероятно, не хотите навязывать это кому-либо еще).
+1 «Личные вещи» могут быть упомянуты в файлах $GIT_DIR/info/excludeили ~/.gitconfigв соответствующих случаях.
Посмотрите
5
Если у вас уже есть зарегистрированный файл, и вы хотите его игнорировать, Git не будет игнорировать файл, если вы добавите правило позже. В этих случаях вы должны сначала распаковать файл, выполнив следующую команду в своем терминале:git rm --cached FILENAME
eli-bd
133
Вы обычно делаете коммит .gitignore. На самом деле, я лично захожу так далеко, чтобы убедиться, что мой индекс всегда чист, когда я над чем-то не работаю. ( git statusничего не должно показывать.)
Есть случаи, когда вы хотите игнорировать вещи, которые на самом деле не специфичны для проекта. Например, ваш текстовый редактор может создавать *~файлы автоматического резервного копирования, или другим примером могут быть .DS_Storeфайлы, созданные OS X.
Я бы сказал, если другие жалуются на то, что эти правила загромождают ваши .gitignore, оставьте их и поместите в глобальный файл исключений.
По умолчанию этот файл находится в $XDG_CONFIG_HOME/git/ignore(по умолчанию ~/.config/git/ignore), но это местоположение можно изменить, установив core.excludesfileпараметр. Например:
Просто создайте и отредактируйте глобальный файл excludefile для вашего сердца; он будет применяться к каждому git-репозиторию, над которым вы работаете на этой машине.
Вы всегда можете добавить # some commentстроки в .gitignoreфайл, чтобы объяснить, почему вы что-то игнорируете. Комментируя каждую строку немного излишним, но у меня есть разделы помечены # IDE (Eclipse), # OS (Mac OS X)и # Generated (Perl). Таким образом, если кто-то хочет использовать другую ОС или IDE, он может добавить раздел, и мы все можем поделиться.
Стюарт Р. Джефферис
9
«Я лично захожу так далеко, что проверяю, что мой индекс всегда чист, когда я не работаю над чем-либо (состояние git ничего не должно показывать.)»
SGhosh
4
В северном направлении с современным Git значением по умолчанию core.excludesfileявляется is ~/.config/git/ignore, соответствующее спецификации XDG Base Directory
Jakub Narębski
1
+1 за глобальный .gitignore- Чрезвычайно полезно, когда люди, с которыми вы работаете, не согласны с содержимым отправляемых .gitignoreфайлов или с тем, должны ли они передаваться, и мы все используем тонну различных сред разработки, которые генерируют различные типы шума.
Я помещаю commit .gitignore, который любезен другим, кто может построить мой проект, что следующие файлы являются производными и должны игнорироваться.
Я обычно делаю гибрид. Мне нравится, когда make-файл генерирует файл .gitignore, так как make-файл будет знать все файлы, связанные с проектом - или иначе. Затем запустите зарегистрированный проект верхнего уровня .gitignore, который будет игнорировать созданные файлы .gitignore, созданные make-файлом для различных подкаталогов.
Так что в моем проекте у меня может быть подкаталог bin со всеми встроенными исполняемыми файлами. Затем мой make-файл сгенерирует .gitignore для этого каталога bin. И в верхнем каталоге .gitignore, в котором перечислены bin / .gitignore. Верхний тот, который я проверяю.
Фиксация .gitignore может быть очень полезна, но вы должны быть уверены, что после этого не будете слишком сильно ее изменять, особенно если вы регулярно переключаетесь между ветками. Если вы это сделаете, вы можете получить случаи, когда файлы игнорируются в одной ветви, а не в другой, что заставляет вас вручную удалять или переименовывать файлы в вашем рабочем каталоге, потому что проверка завершилась неудачно, поскольку она перезаписывает не отслеживаемый файл.
Поэтому да, сделайте свой .gitignore, но не раньше, чем вы будете уверены, что он не изменится после этого.
Это не ответило на вопрос: .gitignoreсамо должно быть « .gitignoreд»?
Чарльз Вуд
6
Обратите внимание, что это был не вопрос, и это действительно отвечает на вопрос: «Является ли [это] хорошей практикой фиксация .gitignore в репозитории Git?».
papercowboy
5
@cayuu Я полагаю, что ответ говорит: «Это хорошая практика .gitignore» xyz, я не понимаю, как он отвечает на вопрос. вопрос в том, должен ли .gitignore иметь контроль версий или нет.
Ответы:
Обычно да,
.gitignore
это полезно для всех, кто хочет работать с хранилищем. Иногда вам захочется игнорировать более личные вещи (возможно, вы часто создаетеLOG
или что-то в этом роде. В этих случаях вы, вероятно, не хотите навязывать это кому-либо еще).источник
$GIT_DIR/info/exclude
или~/.gitconfig
в соответствующих случаях.git rm --cached FILENAME
Вы обычно делаете коммит
.gitignore
. На самом деле, я лично захожу так далеко, чтобы убедиться, что мой индекс всегда чист, когда я над чем-то не работаю. (git status
ничего не должно показывать.)Есть случаи, когда вы хотите игнорировать вещи, которые на самом деле не специфичны для проекта. Например, ваш текстовый редактор может создавать
*~
файлы автоматического резервного копирования, или другим примером могут быть.DS_Store
файлы, созданные OS X.Я бы сказал, если другие жалуются на то, что эти правила загромождают ваши
.gitignore
, оставьте их и поместите в глобальный файл исключений.По умолчанию этот файл находится в
$XDG_CONFIG_HOME/git/ignore
(по умолчанию~/.config/git/ignore
), но это местоположение можно изменить, установивcore.excludesfile
параметр. Например:Просто создайте и отредактируйте глобальный файл excludefile для вашего сердца; он будет применяться к каждому git-репозиторию, над которым вы работаете на этой машине.
источник
# some comment
строки в.gitignore
файл, чтобы объяснить, почему вы что-то игнорируете. Комментируя каждую строку немного излишним, но у меня есть разделы помечены# IDE (Eclipse)
,# OS (Mac OS X)
и# Generated (Perl)
. Таким образом, если кто-то хочет использовать другую ОС или IDE, он может добавить раздел, и мы все можем поделиться.core.excludesfile
является is~/.config/git/ignore
, соответствующее спецификации XDG Base Directory.gitignore
- Чрезвычайно полезно, когда люди, с которыми вы работаете, не согласны с содержимым отправляемых.gitignore
файлов или с тем, должны ли они передаваться, и мы все используем тонну различных сред разработки, которые генерируют различные типы шума.Я помещаю commit .gitignore, который любезен другим, кто может построить мой проект, что следующие файлы являются производными и должны игнорироваться.
Я обычно делаю гибрид. Мне нравится, когда make-файл генерирует файл .gitignore, так как make-файл будет знать все файлы, связанные с проектом - или иначе. Затем запустите зарегистрированный проект верхнего уровня .gitignore, который будет игнорировать созданные файлы .gitignore, созданные make-файлом для различных подкаталогов.
Так что в моем проекте у меня может быть подкаталог bin со всеми встроенными исполняемыми файлами. Затем мой make-файл сгенерирует .gitignore для этого каталога bin. И в верхнем каталоге .gitignore, в котором перечислены bin / .gitignore. Верхний тот, который я проверяю.
источник
Фиксация .gitignore может быть очень полезна, но вы должны быть уверены, что после этого не будете слишком сильно ее изменять, особенно если вы регулярно переключаетесь между ветками. Если вы это сделаете, вы можете получить случаи, когда файлы игнорируются в одной ветви, а не в другой, что заставляет вас вручную удалять или переименовывать файлы в вашем рабочем каталоге, потому что проверка завершилась неудачно, поскольку она перезаписывает не отслеживаемый файл.
Поэтому да, сделайте свой .gitignore, но не раньше, чем вы будете уверены, что он не изменится после этого.
источник
Хорошей практикой является использование по
.gitignore
крайней мере ваших продуктов для сборки (программ, * .o и т. Д.).источник
.gitignore
само должно быть «.gitignore
д»?