# Коллекция шаблонов `.gitignore`. Это коллекция шаблонов файлов [`.gitignore`][man] на GitHub. Мы используем этот список для заполнения списка шаблонов `.gitignore`, доступного в интерфейсе GitHub.com при создании новых репозиториев и файлов. Для получения дополнительной информации о том, как работают файлы `.gitignore` и как их использовать, можно начать со следующих ресурсов: - Глава [Ignoring Files][глава] книги [Pro Git][progit]. - Статья [Ignoring Files][help] на сайте помощи GitHub. - Страница руководства [gitignore(5)][man]. [man]: http://git-scm.com/docs/gitignore [help]: https://help.github.com/articles/ignoring-files [chapter]: https://git-scm.com/book/en/Git-Basics-Recording-Changes-to-the-Repository#_ignoring [progit]: http://git-scm.com/book ## Структура папок Мы поддерживаем коллекцию шаблонов, организованную таким образом: - Корневая папка содержит шаблоны, которые часто используются, чтобы помочь людям начать работу с популярными языками программирования и технологиями. Они определяют значимый набор правил, помогающих начать работу, и гарантируют, что вы не будете добавлять неважных файлов в ваш репозиторий. - [`Global`](./Global) содержит шаблоны для различных редакторов, инструментов и операционных систем, которые можно использовать в различных ситуациях. Рекомендуется чтобы вы либо [добавили их в свой глобальный шаблон](https://docs.github.com/en/get-started/getting-started-with-git/ignoring-files#configuring-ignored-files-for-all-repositories-on-your-computer) либо объединить эти правила с шаблонами конкретного проекта, если вы хотите использовать их их на постоянной основе. - [`community`](./community) содержит специализированные шаблоны для других популярных языков, инструментов и проектов, которые в настоящее время не входят в основные шаблонов. Их следует добавить в шаблоны для конкретного проекта, когда вы когда вы решите использовать фреймворк или инструмент. ## Что делает шаблон хорошим? Шаблон должен содержать набор правил, помогающих репозиториям Git работать с конкретным языком программирования, фреймворком, инструментом или средой. Если невозможно собрать небольшой набор полезных правил для данной ситуации, значит, шаблон не подходит для этой коллекции. Если шаблон в основном представляет собой список файлов, установленных определенной версией какого-либо программного обеспечения (например, фреймворка PHP), он может находиться в директории `community`. директории. Подробнее см. в [версионные шаблоны](#versioned-templates). Если у вас небольшой набор правил, или вы хотите поддержать технологию, которая не широко не используется, но при этом считаете, что это будет полезно для других, прочтите раздел о [специализированных шаблонах](#specialized-templates) для более подробной информации. Укажите подробности при открытии запроса на исправление, если шаблон важен и заметен. Мы можем не принять его сразу, но можем продвинуть его в корень позднее в зависимости от интереса. Пожалуйста, поймите, что мы не можем перечислить все инструменты, которые когда-либо существовали. Наша цель - собрать коллекцию _самых распространенных и полезных_ шаблонов, а не в том, чтобы охватить все возможные проекты. Если мы решили не включить ваш язык, инструмент или проект, то это не потому, что он не крут. ## Рекомендации по внесению вклада Мы будем рады, если вы поможете нам улучшить этот проект. Чтобы помочь нам сохранить коллекцию высокое качество, мы просим вас придерживаться следующих правил. - **Указывайте ссылку на домашнюю страницу приложения или проекта**. Если только оно не если оно не очень популярно, есть вероятность, что сопровождающие не знают или не используют язык, фреймворк, редактор, приложение или проект, к которому относится ваше изменение. - **Предоставьте ссылки на документацию**, поддерживающую вносимое вами изменение. Лучше всего использовать текущую, каноническую документацию с упоминанием игнорируемых файлов. Если документации, поддерживающей ваше изменение, нет, сделайте все возможное, чтобы чтобы объяснить, для чего нужны игнорируемые файлы. - **Объясните, почему вы вносите изменения**. Даже если это кажется очевидным, пожалуйста потратьте пару предложений, чтобы объяснить нам, почему ваше изменение или дополнение должно произойти. Особенно полезно объяснить, почему это изменение касается _всех_. кто работает с применимой технологией, а не только к вам или вашей команде. - **Пожалуйста, подумайте о масштабах вашего изменения**. Если ваше изменение касается только определенного языка или фреймворка, то убедитесь, что изменение вносится в шаблон для этого языка или фреймворка, а не в шаблон для редактора, инструмента или операционной системы. - **Пожалуйста, изменяйте только _один_ шаблон в одном запросе**. Это поможет сохранить запросы и отзывы сфокусированы на конкретном проекте или технологии. В общем, чем больше вы можете сделать, чтобы помочь нам понять, какие изменения вы вносите, тем больше вероятность того, что мы быстро примем ваш вклад. ## Версионные шаблоны Некоторые шаблоны могут сильно меняться между версиями, и если вы хотите внести свой вклад в этот репозиторий, необходимо следовать определенному порядку действий: - шаблон в корне должен быть текущей поддерживаемой версией - шаблон в корне не должен иметь версию в имени файла (т.е. «вечнозеленый") - предыдущие версии шаблонов должны находиться в папке `community/` - предыдущие версии шаблона должны содержать версию в имени файла, для удобства чтения Это помогает гарантировать, что пользователи получат последнюю версию (потому что они будут использовать то, что находится в корне), но помогает сопровождающим поддерживать старые версии, которые все еще находятся в дикой природе. ## Специализированные шаблоны Если у вас есть шаблон, в который вы хотели бы внести свой вклад, но он не совсем мейнстрим, пожалуйста, подумайте о том, чтобы добавить его в директорию `community` под папку, которая лучше всего подходит для его размещения. Правила в вашем специализированном шаблоне должны быть специфичны для фреймворка или инструмента, а любые дополнительные шаблоны должны быть упомянуты в комментарии в в заголовке шаблона. Например, этот шаблон может находиться по адресу `community/DotNet/InforCRM.gitignore`: ``` # gitignore template for InforCRM (formerly SalesLogix) # website: https://www.infor.com/product-summary/cx/infor-crm/ # # Recommended: VisualStudio.gitignore # Игнорировать файлы моделей, которые генерируются автоматически ModelIndex.xml ExportedFiles.xml # Игнорировать файлы развертывания [Mm]odel/[Dd]eployment # Принудительное включение файлов поддержки портала SupportFiles !Model/Portal/*/SupportFiles/[Bb]in/ !Model/Portal/PortalTemplates/*/SupportFiles/[Bb]in ``` ## Рабочий процесс внесения вклада Вот как мы предлагаем вам внести изменения в этот проект: 1. [Fork this project][fork] на свой аккаунт. 2. [Создайте ветку][branch] для изменения, которое вы собираетесь внести. 3. Внесите изменения в свой форк. 4. [Отправьте запрос на притяжение][pr] из ветки вашего форка в нашу `основную` ветку. Использование веб-интерфейса для внесения изменений тоже не помешает, и поможет вам автоматически форкнув проект и предложив отправить pull request. [fork]: https://help.github.com/articles/fork-a-repo/ [branch]: https://help.github.com/articles/creating-and-deleting-branches-within-your-repository [pr]: https://help.github.com/articles/using-pull-requests/ ## Лицензия [CC0-1.0](./LICENSE).