Считаете ли вы хорошей практикой вводить .gitignore в репозиторий Git?
Некоторым людям это не нравится, но я думаю, что это хорошо, так как вы можете отслеживать историю файла. Не так ли?
Считаете ли вы хорошей практикой вводить .gitignore в репозиторий Git?
Некоторым людям это не нравится, но я думаю, что это хорошо, так как вы можете отслеживать историю файла. Не так ли?
Ответы:
Обычно да, .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параметр. Например:
git config --global core.excludesfile ~/.gitignore
Просто создайте и отредактируйте глобальный файл 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д»?