November 7, 2017

Growing Beyond GitHub’s gitignore Template List #

Since Feb 13, 2013, gitignore.io relied on GitHub’s list of gitignore templates to power the website. GitHub maintains the most popular gitignore template list as reflected by it’s 50,000+ stars. As gitignore.io grows, our community faces challenges relying on GitHub’s template list.

Responsiveness - GitHub maintains a popular template list, but is slow to merge pull requests. This results in slow updates to templates and certain developers simply abandoning their requests. Acceptance - gitignore templates must meet contributing guideline requirements preventing merges from small and undocumented projects. As a result, gitignore.io already has twice as many gitignore templates. Composition - Larger templates, such as the Objective-C.gitignore , can not be composed from smaller templates. Objective-C.gitignore includes Cocoapods, Carthage, Fastlane, and iOSInjectionProject which should all be separate templates. Inheritance - The JetBrains template is an example where one template has multiple uses. All Idea IDE’s ignore the same core list of files. If a C++ developer is working in CLion, the CLion template should inherit from the JetBrains template. Extension - GitHub’s original template list challenged developers who wanted functionality but were not accepted because point 1 and 2. The community needed a way to make changes that weren’t accepted by the main repository, but still made sense.

The Plan #

Todays fork plans to address all five issues.

Going forward #

Use - If you need to create a useful gitignore file for your project, checkout https://www.gitignore.io. It also has a command line API. Support - If you like the project, please give the gitignore.io and template repositories a star. Contribute - Please submit a pull request if you have a project with .giignore template that is not in our repository.

48 Kudos