← Back to context

Comment by krisoft

3 years ago

> .gitignore` is for stuff that all developers need to ignore

But that is the case, all developers need to ignore the ".DS_Store" files. So by your own rule it is appropriate in there then?

I think the point is that only developers on Macs need to ignore them. If they properly do so, these files will never appear on other developer’s machines, and they therefore don’t need them in .gitignore.

  • It’s not that straightforward to ignore files in git without adding them to a local .gitignore, though.

    Global .gitignore exists, but I just had to look it up again to refresh my memory – chances are, junior devs or hobby developers will never even consider it as an option.

    That said, arguably ignoring .DS_Storage should be the default on macOS builds of git.

    • I just teach people about global gitignores then they know. If someone were to commit something to an open source project, I'd reject it and teach them about it too. I'm all about the global gitignores. The ignore file can actually act as a form of documentation if kept tidy. It's a single source of truth of all the artifacts an app can produce.

he must meant that you block something at its origin: dsstore managed by the OS, you block it at system level; `.o` produced by the project stuff, block it at project repo level.

  • I must admit that my viewpoint is coloured by the fact that I work on repos where most devs use OSX.

    I can do the principled thing as you describe it. And then I can be angry every time a new dev arrives who doesn't have their computer correctly set up yet, or someone reinstalls their machine, or anything like that.

    Or I can do the pragmatic thing, add one extra line to the .gitignore file and forget about it forever.

    In my opinion this is not a hill worth dying on.