Hacker News new | ask | show | jobs
by klodolph 716 days ago
Enough to teach people to use a global git core.excludesfile, IMO.

Same place you should put rules for Emacs / Vim swap files.

1 comments

Totally correct. Files which are unrelated to the project don't belong in .gitignore.
This may be technically correct, and I do have .DS_Store in my global, but I also put it in projects, because I know not everyone on my team is going to do that. I add it to the .gitignore in projects to save me from other people junking up the project. It’s a lot easier to add some lines to a file than it is to micromanage the global file for every potential future contributor.
This touches on something I've learned to be more mindful of: the "right answer" (especially to a techie) is often not the right answer in real world cases.
I’m fine with the occasional .DS_Store getting added, because you can just remove it afterwards. Most of my work is either my own projects or at work, and whether people at work commit .DS_Store files is a question that touches on code reviews, company onboarding guides, etc.

Maybe the benefits / drawbacks would be different for an open-source project with a lot of contributors.

Just add a like to your onboarding docs to teach what the global ignore file is and how to manage it. the have them add a line for DS_Store.
It makes sense to add an ignore for .* though and then specifically unignore only those dotfiles/directories that you actully want checked in.