2013-11-04 18:36:23 +01:00
|
|
|
|
# A collection of `.gitignore` templates
|
2010-11-08 21:21:45 +01:00
|
|
|
|
|
2013-11-04 18:36:23 +01:00
|
|
|
|
This is GitHub’s collection of [`.gitignore`][man] file templates.
|
|
|
|
|
We use this list to populate the `.gitignore` template choosers available
|
|
|
|
|
in the GitHub.com interface when creating new repositories and files.
|
2010-11-08 21:43:25 +01:00
|
|
|
|
|
2013-11-04 18:36:23 +01:00
|
|
|
|
For more information about how `.gitignore` files work, and how to use them,
|
|
|
|
|
the following resources are a great place to start:
|
2010-11-08 23:56:21 +01:00
|
|
|
|
|
2013-11-04 18:36:23 +01:00
|
|
|
|
- The [Ignoring Files chapter][chapter] of the [Pro Git][progit] book.
|
|
|
|
|
- The [Ignoring Files article][help] on the GitHub Help site.
|
|
|
|
|
- The [gitignore(5)][man] manual page.
|
2010-11-08 21:52:45 +01:00
|
|
|
|
|
2013-11-04 18:36:23 +01:00
|
|
|
|
[man]: http://git-scm.com/docs/gitignore
|
|
|
|
|
[help]: https://help.github.com/articles/ignoring-files
|
2018-04-05 19:23:00 +02:00
|
|
|
|
[chapter]: https://git-scm.com/book/en/Git-Basics-Recording-Changes-to-the-Repository#_ignoring
|
2013-11-04 18:36:23 +01:00
|
|
|
|
[progit]: http://git-scm.com/book
|
2010-11-08 21:46:40 +01:00
|
|
|
|
|
2013-11-04 18:36:23 +01:00
|
|
|
|
## Folder structure
|
|
|
|
|
|
2018-10-27 15:41:57 +02:00
|
|
|
|
We support a collection of templates, organized in this way:
|
|
|
|
|
|
2018-10-27 16:02:38 +02:00
|
|
|
|
- the root folder contains templates in common use, to help people get started
|
|
|
|
|
with popular programming languages and technologies. These define a meaningful
|
|
|
|
|
set of rules to help get started, and ensure you are not committing
|
|
|
|
|
unimportant files into your repository
|
2018-10-27 15:41:57 +02:00
|
|
|
|
- [`Global`](./Global) contains templates for various editors, tools and
|
|
|
|
|
operating systems that can be used in different situations. It is recommended
|
|
|
|
|
that you either [add these to your global template](https://help.github.com/articles/ignoring-files/#create-a-global-gitignore)
|
|
|
|
|
or merge these rules into your project-specific templates if you want to use
|
|
|
|
|
them permanently.
|
|
|
|
|
- [`ecosystem`](./ecosystem) contains specialized templates coalescing around
|
|
|
|
|
popular programming languages, but don't make sense to live in the mainstream
|
|
|
|
|
templates. These should be added to your project-specific templates when you
|
|
|
|
|
decide to adopt the framework or tool.
|
2013-11-04 18:36:23 +01:00
|
|
|
|
|
2018-10-27 16:02:38 +02:00
|
|
|
|
## What makes a good template?
|
|
|
|
|
|
|
|
|
|
A template should contain a set of rules to help Git repositories work with a
|
|
|
|
|
specific programming language, framework, tool or environment.
|
|
|
|
|
|
|
|
|
|
If it's not possible to curate a small set of useful rules for this situation,
|
|
|
|
|
then the template is not a good fit for this collection.
|
|
|
|
|
|
|
|
|
|
If a template is mostly a list of files installed by a particular version of
|
|
|
|
|
some software (e.g. a PHP framework), it should live under the `ecosystem`
|
2018-10-27 16:07:36 +02:00
|
|
|
|
directory. See [versioned templates](#versioned-templates) for more details.
|
|
|
|
|
|
|
|
|
|
If you have a small set of rules, or want to support a technology that is not
|
|
|
|
|
widely in use, and still believe this will be helpful to others, please read the
|
|
|
|
|
section about [specialized templates](#specialized-templates) for more details.
|
|
|
|
|
|
|
|
|
|
If you believe your template is important and should be highly visible, please
|
|
|
|
|
add details about the impact of the technology when you open a pull request. We
|
|
|
|
|
may not accept it immediately, but we can promote it to the root at a later date
|
|
|
|
|
based on demand.
|
2018-10-27 16:02:38 +02:00
|
|
|
|
|
|
|
|
|
Please also understand that we can’t list every tool that ever existed.
|
|
|
|
|
Our aim is to curate a collection of the _most common and helpful_ templates,
|
|
|
|
|
not to make sure we cover every project possible. If we choose not to
|
|
|
|
|
include your language, tool, or project, it’s not because it’s not awesome.
|
|
|
|
|
|
2013-11-04 18:36:23 +01:00
|
|
|
|
## Contributing guidelines
|
2010-11-09 01:11:36 +01:00
|
|
|
|
|
2017-10-16 01:42:37 +02:00
|
|
|
|
We’d love for you to help us improve this project. To help us keep this collection
|
2013-11-04 18:36:23 +01:00
|
|
|
|
high quality, we request that contributions adhere to the following guidelines.
|
2012-09-23 23:31:30 +02:00
|
|
|
|
|
2013-11-04 18:36:23 +01:00
|
|
|
|
- **Provide a link to the application or project’s homepage**. Unless it’s
|
|
|
|
|
extremely popular, there’s a chance the maintainers don’t know about or use
|
|
|
|
|
the language, framework, editor, app, or project your change applies to.
|
2015-09-23 18:56:15 +02:00
|
|
|
|
|
2013-11-04 18:36:23 +01:00
|
|
|
|
- **Provide links to documentation** supporting the change you’re making.
|
|
|
|
|
Current, canonical documentation mentioning the files being ignored is best.
|
|
|
|
|
If documentation isn’t available to support your change, do the best you can
|
|
|
|
|
to explain what the files being ignored are for.
|
2015-09-23 18:56:15 +02:00
|
|
|
|
|
2013-11-04 18:36:23 +01:00
|
|
|
|
- **Explain why you’re making a change**. Even if it seems self-evident, please
|
|
|
|
|
take a sentence or two to tell us why your change or addition should happen.
|
2018-10-27 15:42:08 +02:00
|
|
|
|
It’s especially helpful to articulate why this change applies to _everyone_
|
2013-11-04 18:36:23 +01:00
|
|
|
|
who works with the applicable technology, rather than just you or your team.
|
2015-09-23 18:56:15 +02:00
|
|
|
|
|
2017-10-16 01:42:37 +02:00
|
|
|
|
- **Please consider the scope of your change**. If your change is specific to a
|
2013-11-04 18:36:23 +01:00
|
|
|
|
certain language or framework, then make sure the change is made to the
|
|
|
|
|
template for that language or framework, rather than to the template for an
|
|
|
|
|
editor, tool, or operating system.
|
2012-09-23 23:31:30 +02:00
|
|
|
|
|
2018-10-27 15:42:08 +02:00
|
|
|
|
- **Please only modify _one template_ per pull request**. This helps keep pull
|
2013-11-05 01:01:34 +01:00
|
|
|
|
requests and feedback focused on a specific project or technology.
|
2012-09-23 23:31:30 +02:00
|
|
|
|
|
2013-11-04 18:36:23 +01:00
|
|
|
|
In general, the more you can do to help us understand the change you’re making,
|
|
|
|
|
the more likely we’ll be to accept your contribution quickly.
|
2013-11-05 01:26:19 +01:00
|
|
|
|
|
2018-10-27 16:02:38 +02:00
|
|
|
|
## Versioned templates
|
2015-03-01 02:53:03 +01:00
|
|
|
|
|
2018-10-27 16:02:38 +02:00
|
|
|
|
Some templates can change greatly between versions, and if you wish to contribute
|
|
|
|
|
to this repository we need to follow this specific flow:
|
|
|
|
|
|
|
|
|
|
- the template at the root should be the current supported version
|
|
|
|
|
- the template at the root should not have a version in the filename (i.e.
|
|
|
|
|
"evergreen")
|
|
|
|
|
- previous versions of templates should live under `ecosystem`
|
|
|
|
|
- previous versions of the template should embed the version in the filename,
|
|
|
|
|
for readability
|
|
|
|
|
|
|
|
|
|
This helps ensure users get the latest version (because they'll use whatever is
|
|
|
|
|
at the root) but helps maintainers support older versions still in the wild.
|
|
|
|
|
|
|
|
|
|
## Specialized templates
|
|
|
|
|
|
|
|
|
|
If you have a template that you would like to contribute, but it isn't quite
|
|
|
|
|
mainstream, please consider adding this to the `ecosystem` directory under a
|
|
|
|
|
folder that best suits where it belongs.
|
|
|
|
|
|
|
|
|
|
The rules in your specialized template should be specific to the framework or
|
|
|
|
|
tool, and any additional templates should be mentioned in a comment in the
|
|
|
|
|
header of the template
|
|
|
|
|
|
2018-10-27 16:13:16 +02:00
|
|
|
|
For example, this template might live at `ecosystem/DotNet/InforCRM.gitignore`:
|
2018-10-27 16:02:38 +02:00
|
|
|
|
|
|
|
|
|
```
|
|
|
|
|
# gitignore template for InforCRM (formerly SalesLogix)
|
2018-10-27 16:13:16 +02:00
|
|
|
|
# website: https://www.infor.com/product-summary/cx/infor-crm/
|
2018-10-27 16:02:38 +02:00
|
|
|
|
#
|
|
|
|
|
# Recommended: VisualStudio.gitignore
|
|
|
|
|
|
|
|
|
|
# Ignore model files that are auto-generated
|
|
|
|
|
ModelIndex.xml
|
|
|
|
|
ExportedFiles.xml
|
|
|
|
|
|
|
|
|
|
# Ignore deployment files
|
|
|
|
|
[Mm]odel/[Dd]eployment
|
|
|
|
|
|
|
|
|
|
# Force include portal SupportFiles
|
|
|
|
|
!Model/Portal/*/SupportFiles/[Bb]in/
|
|
|
|
|
!Model/Portal/PortalTemplates/*/SupportFiles/[Bb]in
|
|
|
|
|
```
|
2013-11-05 01:26:19 +01:00
|
|
|
|
|
2013-11-04 18:36:23 +01:00
|
|
|
|
## Contributing workflow
|
2010-11-09 01:11:36 +01:00
|
|
|
|
|
2013-11-04 18:36:23 +01:00
|
|
|
|
Here’s how we suggest you go about proposing a change to this project:
|
2010-11-09 01:11:36 +01:00
|
|
|
|
|
2013-11-04 18:36:23 +01:00
|
|
|
|
1. [Fork this project][fork] to your account.
|
|
|
|
|
2. [Create a branch][branch] for the change you intend to make.
|
|
|
|
|
3. Make your changes to your fork.
|
|
|
|
|
4. [Send a pull request][pr] from your fork’s branch to our `master` branch.
|
|
|
|
|
|
|
|
|
|
Using the web-based interface to make changes is fine too, and will help you
|
|
|
|
|
by automatically forking the project and prompting to send a pull request too.
|
|
|
|
|
|
2015-09-23 18:58:46 +02:00
|
|
|
|
[fork]: https://help.github.com/articles/fork-a-repo/
|
2013-11-04 18:36:23 +01:00
|
|
|
|
[branch]: https://help.github.com/articles/creating-and-deleting-branches-within-your-repository
|
2015-09-23 18:58:46 +02:00
|
|
|
|
[pr]: https://help.github.com/articles/using-pull-requests/
|
2010-11-09 01:11:36 +01:00
|
|
|
|
|
2013-11-04 18:36:23 +01:00
|
|
|
|
## License
|
2010-11-09 01:11:36 +01:00
|
|
|
|
|
2015-12-14 03:49:50 +01:00
|
|
|
|
[CC0-1.0](./LICENSE).
|