upvote
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