A simple terminal UI for git commands that makes staging, committing, rebasing and branch work faster from the keyboard.
github/gitignore
A collection of .gitignore templates for programming languages, frameworks, editors and operating systems, used by GitHub's repository creation pages.
- Stars
- 176,177
- Forks
- 82,019
- Open issues
- 70
- Last commit
- 3 days ago
What is it?
This repository is GitHub's collection of .gitignore templates, which list files and directories that Git should not track. Each template targets a specific language, framework, tool or environment, such as Node, Python, Go or Unity, and provides a starting set of ignore rules so build artifacts, dependency folders and local settings stay out of version control.
The templates are organized into three areas. The root folder holds widely used templates for popular languages and technologies, the Global folder contains rules for editors, tools and operating systems that can be added to a personal global ignore file, and the community folder holds more specialized templates for less common tools and projects.
GitHub uses these templates to populate the .gitignore chooser when creating new repositories. The collection is licensed under CC0-1.0, so the templates can be copied freely into any project.
Key features
- 01Covers many programming languages, frameworks and development tools.
- 02Global templates address editor, tool and operating system files.
- 03Community folder holds specialized templates for less common technologies.
- 04Templates are released under CC0-1.0 and can be copied freely.
Use cases
- Setting up a .gitignore when starting a new Node, Python or Go project.
- Adding OS and editor files such as .DS_Store or IDE folders to a global ignore list.
- Finding the right ignore rules for a Unity, Unreal or other game engine project.
Quick start
- 1
Browse the .gitignore templates in the repository root and copy the one that fits your project
- 2
Save the chosen template as .gitignore in your project root
Things to know
- This is a collection of templates, not a runnable software project.
Topics
FAQ
- What is gitignore?
- A collection of .gitignore templates for programming languages, frameworks, editors and operating systems, used by GitHub's repository creation pages. This repository is GitHub's collection of .gitignore templates, which list files and directories that Git should not track. Each template targets a specific language, framework, tool or environment, such as Node, Python, Go or Unity, and provides a starting set of ignore rules so build artifacts, dependency folders and local settings stay out of version control.
- Is gitignore free to use? What license does it have?
- gitignore is open source under the CC0-1.0 license. Check the license terms before using it in commercial products.
- Is gitignore still maintained?
- Actively maintained. The last commit to gitignore was on Nov 4, 2026.
- What can I use gitignore for?
- Setting up a .gitignore when starting a new Node, Python or Go project. Adding OS and editor files such as .DS_Store or IDE folders to a global ignore list. Finding the right ignore rules for a Unity, Unreal or other game engine project.
- How do I install gitignore?
- Browse the .gitignore templates in the repository root and copy the one that fits your project Save the chosen template as .gitignore in your project root
- Where can I get gitignore?
- The source code and installation instructions are on GitHub: https://github.com/github/gitignore
Summary generated by AI from the project's README. GitHub stats refresh daily.
Related projects
Git is a fast, distributed revision control system with a rich command set that exposes both high-level operations and low-level internals.
A painless, self-hosted Git service written in Go, with issues, pull requests, wiki and webhooks, distributed as a single binary.
Jujutsu (jj) is a Git-compatible version control system that records working-copy changes as commits and tracks every operation for undo.
A command-line diff tool that compares files by their syntax tree instead of lines, so reformatting and moved code show up accurately.
A terminal UI for git written in Rust, offering keyboard-driven staging, committing, branching, stashing and log browsing.