Question

How to add and commit an empty directory in my Git repository?

Hi all,

I need to commit an empty directory to my Git project, but when I create a new directory with:

  1. mkdir my_dir

And then check the status with:

  1. git status

Git says that there is nothing to commit, so running git add . does not do anything.

How can I add an empty directory/folder to my Git repository?


Submit an answer


This textbox defaults to using Markdown to format your answer.

You can type !ref in this text area to quickly search our full set of tutorials, documentation & marketplace offerings and insert the link!

Sign In or Sign Up to Answer

These answers are provided by our Community. If you find them useful, show some love by clicking the heart. If you run into issues leave a comment, or add your own answer to help others.

Bobby Iliev
Site Moderator
Site Moderator badge
November 16, 2020
Accepted Answer

Hi there,

Yes, indeed, by design, you can not commit empty directories, containing no files, to a Git repository.

What I usually do in such cases is to create a .gitkeep or a .gitignore file inside that directory:

  • First create the folder:
  1. mkdir your_dir_here
  • Then create that empty .gitkeep file:
  1. touch your_dir_here/.gitkeep
  • After that, you will be able to see the file with git status:
Output
Untracked files:
  (use "git add <file>..." to include in what will be committed)

        your_dir_here/
  • And add the file:
  1. git add your_dir_here/
  • Finally commit as normal:
  1. git commit -m "Adding Empty Directory"

The .gitkeep does not really have any special meaning for Git, but it will allow you to commit the empty directory in question!

Alternatively, you can use any other file. My advice is to be consistent throughout your project(s).

Regards, Bobby

Try DigitalOcean for free

Click below to sign up and get $200 of credit to try our products over 60 days!

Sign up

Get our biweekly newsletter

Sign up for Infrastructure as a Newsletter.

Hollie's Hub for Good

Working on improving health and education, reducing inequality, and spurring economic growth? We'd like to help.

Become a contributor

Get paid to write technical tutorials and select a tech-focused charity to receive a matching donation.

Welcome to the developer cloud

DigitalOcean makes it simple to launch in the cloud and scale up as you grow — whether you're running one virtual machine or ten thousand.

Learn more
DigitalOcean Cloud Control Panel