Hacker News new | ask | show | jobs
by yjftsjthsd-h 124 days ago
I'm confused. Having a file gitignored doesn't stop you from committing it; AFAIK you can just

  touch build/.gitkeep
  git add build/.gitkeep
  git commit build/.gitkeep
And that's it? There's no need to exclude anything.
1 comments

The idea is that you don't want to check-in any builds.
Sure, so gitignore build/ or whatever. But you don't need to unignore .gitkeep
The idea is that instead of adding a nonsense file, you use the native .gitignore functionality.

".gitkeep" is just a human thing; it would work the same if you called it ".blahblah".

So their pitch is that if you want to explicitly keep the existence of the directory as a committed part of the repo, you're better off using the actual .gitignore functionality to check in the .gitignore file but ignore anything else in the directory.

I don't find it amazingly compelling; .gitkeep isn't breaking anything.

This still confuses me. Do you mean to say "use the .gitignore functionality, and check in the .gitkeep file"?
No. Use a .gitignore instead of .gitkeep. Instead of checking in build/.gitkeep, check in build/.gitignore.
I don't know that I like this approach. It certainly works, but it's not specifically what (people expect) a .gitignore file to be used for. That confusion isn't good: https://thecodelesscode.com/case/222 and https://thecodelesscode.com/case/223