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.
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.
You can create a global gitignore in your home directory. I have ‘.<myname>’ ignored there, so if I ever create a directory with that name I know it’s contents won’t go into source control. That way I don’t have to edit the repositories gitignore with me-specific stuff.
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.
zahlman|8 days ago
ddek|7 days ago
beAbU|8 days ago
predkambrij|8 days ago
taftster|8 days ago
nickysielicki|8 days ago
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.
lucketone|8 days ago
I heard facebook allows any language as long as you have packaged it neatly with all required build chain. (I.e. Even a choice of language works out)
Some lowest common denominator will be reached. (1 :) )
On the other hand: Are we happy with the lowest or do we want to aim higher?