For anything I work on, I usually have two such files;
.gitignore” in the repo root (which appears fairly common),
and a “personal
Why two? I see it as separation of concerns.
The personal ignore is for files I make through my own choices (e.g. due to my tooling).
I used IntelliJ IDEA for some time,
and it leaves
*.iml files around, so I ignore those.
I use OSX, which leaves
.DS_Store files around, so I ignore those.
If I hand-create a virtualenv I tend to make it in
.env, so I ignore that.
My tools, my choices, so I make sure they don’t make a mess.
On the other hand, the repository
.gitignore I use for files the repository makes.
So if its test suite runs with coverage,
.coverage output directory;
if it ships a
Vagrantfile then ignore
The biggest downside I see is that I’ve shifted the burden of work;
if you’re new, if you’re unfamiliar with git,
you may not have a personal
and that’s totally ok.
“We put everything in our repo
.gitignore to be more welcoming”
feels like a completely legitimate position;
I’d personally rather just link people to this post.
I believe that:
- A repository should have a
.gitignorethat covers all the files the repository tooling may generate
- You should have a personal ignore file that covers all the files your personal tooling choices may generate
I don’t want PRs for the dozen-or-so different IDEs and editors etc. that people may happen to use!