Over a million developers have joined DZone.
{{announcement.body}}
{{announcement.title}}

How to Create a Global .gitignore File

DZone's Guide to

How to Create a Global .gitignore File

· DevOps Zone ·
Free Resource

Learn more about how CareerBuilder was able to resolve customer issues 5x faster by using Scalyr, the fastest log management tool on the market. 

GitHub encourages you to include a .gitignore file with all of your repositories to specify which files should not be tracked. If you're not looking for it, though, you may not be aware that you can create a global .gitgnore, which will keep certain files or file types from being tracked in any of your projects (in addition to whatever project-specific rules you include in individual .gitignore files). It's useful for things like .DS_Store on OSX (which keeps track of your folder settings) that you'll probably never want to include in any project.

First, create a .gitignore file that you'll use for all of your projects - you'll probably want to put it in your root directory. In their instructions, GitHub suggests:

~/.gitignore_global 

Then, in the terminal, use this command to designate the .gitignore you created as global:

git config --global core.excludesfile ~/.gitignore_global

Keep in mind that the command above assumes you named it .gitignore_global.

If you're not sure what you'd want to exclude, octocat has provided a list of common exclusions that might give you some ideas. You don't want to get too trigger-happy with global exclusions, though - stick to things you're fairly certain you'll always want left out, or else you might forget something relevant down the line. The OS generated files octocat mentions are particularly likely choices:

.DS_Store
.DS_Store?
._*
.Spotlight-V100
.Trashes
ehthumbs.db
Thumbs.db 
Once you've run the command and added your exclusions, the files and file types you specified won't be tracked in any of your Git repos!

Find out more about how Scalyr built a proprietary database that does not use text indexing for their log management tool.

Topics:

Opinions expressed by DZone contributors are their own.

{{ parent.title || parent.header.title}}

{{ parent.tldr }}

{{ parent.urlSource.name }}