DEV Community

Ibrahim
Ibrahim

Posted on

I Finally Understand .gitkeep

You may have often come across a .gitkeep file in a Git repository. Have you ever wondered what it's actually for?

After doing some research, I finally realized that .gitkeep is not an official Git feature or standard like .gitignore.

What is .gitkeep Used For?

By default, Git doesn't track empty directories. This means if you create a folder without any files inside, Git will ignore it.

That's where .gitkeep comes in. It's simply a placeholder file added to an empty directory so Git can include the folder in version control.

By placing a file like .gitkeep in an otherwise empty directory, Git will recognize that the directory is part of the repository.

Real-World Example

A common example is an uploads directory. This folder is often empty in the repository but required by the application to store uploaded files.

Even though it starts out empty, the directory must exist so the application can run properly. That's why a .gitkeep file is used to ensure the folder is tracked by Git.

You Can Use Any Filename

It's important to note that .gitkeep is not a Git-specific file. You can use any filename like .keep, README.md or even .gitignore as long it ensures the directory is no longer empty.

The most important is, there must be at least one file in the directory, so Git can track it.


Conclusion

.gitkeep is simply an unofficial convention used to keep empty directories in Git repositories. Git itself doesn't care about the file name, as long as the directory isn't empty, it will be tracked.

Top comments (0)