upvote
This Rails commit from May 2010 mentions gitkeeps and it's a few months older than your SO post, so it seems you're absolved from guilt:

https://github.com/rails/rails/commit/785493ffed41abcca0686b...

reply
Yeah... I don't think you were wrong. Having 100 tiny gitignores makes finding out why something is excluded annoying. Our policy is one root level gitgnore and gitkeeps where required.

Some devs will just open the first gitignore they see and throw stuff into it. No thank you.

reply
I like to make a .local folder at the top of the project, which contains a .gitignore that ignores everything. Then I can effortlessly stash my development notes there without affecting the project .gitignore or messing around within the .git directory.
reply
> Having 100 tiny gitignores makes finding out why something is excluded annoying. Our policy is one root level gitgnore and gitkeeps where required.

This is not a complicated or important enough problem to justify a team-wide policy. Let it work itself out naturally.

https://git-scm.com/docs/git-check-ignore makes it trivial to debug repo-wide gitignore behavior.

reply
I agree with you. Empty .gitignore would be a "smell" to me. Whereas .gitkeep tells me exactly what purpose it serves. I like the semantic difference here that you describe. I don't like when multiple .gitignore files are littered throughout the codebase.
reply
I share your view. .keep and .gitignore are different things. Having one .gitignore caputuring everything is less mental load.
reply
This is delightful. Accidental load-bearing SO post.
reply
It's especially funny since my answer is wrong anyway! The other top answer is much better. I did get a lot of early SO brownie points from that one answer though.
reply
Thankfully AI has put an end to the scourge of confidently-wrong SO hallucinations.
reply
Well, Claude is here making .gitkeep files like nobody's business.
reply