Git

Empty directories in Git

Git doesn’t track directories

Assume you’ve initialized a project with the following directory structure:

/build
app.js

Then you add everything so you’ve created so far and commit:

git init
git add .
git commit -m "Initial commit"

Git will only track the file app.js.

Assume you added a build step to your application and rely on the “build” directory to be there as the output directory (and you don’t want to make it a setup instruction every developer has to follow), a convention is to include a “.gitkeep” file inside the directory and let Git track that file.

/build
  .gitkeep
app.js

Then add this new file:

git add build/.gitkeep
git commit -m "Keep the build directory around"

Git will now track the file build/.gitkeep file and therefore the build folder will be made available on checkout.

Again, this is just a convention and not a Git feature.


This modified text is an extract of the original Stack Overflow Documentation created by the contributors and released under CC BY-SA 3.0 This website is not affiliated with Stack Overflow