When would you use .git/info/exclude instead of .gitignore to exclude files?

Parag picture Parag · Apr 7, 2014 · Viewed 42.9k times · Source

I am a bit confused about the pros and cons of using .git/info/exclude and .gitignore to exclude files.

Both of them are at the level of the repository/project, so how do they differ and when should we use .git/info/exclude ?

Answer

mu 無 picture mu 無 · Apr 7, 2014

The advantage of .gitignore is that it can be checked into the repository itself, unlike .git/info/exclude. Another advantage is that you can have multiple .gitignore files, one inside each directory/subdirectory for directory specific ignore rules, unlike .git/info/exclude.

So, .gitignore is available across all clones of the repository. Therefore, in large teams all people are ignoring the same kind of files Example *.db, *.log. And you can have more specific ignore rules because of multiple .gitignore.

.git/info/exclude is available for individual clones only, hence what one person ignores in his clone is not available in some other person's clone. For example, if someone uses Eclipse for development it may make sense for that developer to add .build folder to .git/info/exclude because other devs may not be using Eclipse.

In general, files/ignore rules that have to be universally ignored should go in .gitignore, and otherwise files that you want to ignore only on your local clone should go into .git/info/exclude