paint-brush
How to Commit and Push a Blank Directory to Your Git Repository?by@smpnjn
245 reads

How to Commit and Push a Blank Directory to Your Git Repository?

by Johnny SimpsonMay 15th, 2022
Read on Terminal Reader
Read this story w/o Javascript
tldt arrow

Too Long; Didn't Read

If you want to create a blank directory, you can do that easily, but it won't be pushed when we use git push to push it to your remote. The easiest way to do this is by creating a .gitignore file within the directory you want to maintain.
featured image - How to Commit and Push a Blank Directory to Your Git Repository?
Johnny Simpson HackerNoon profile picture


Sometimes in Git, we want to preserve a directory for use within a repository, but keep it empty of files. There are many reasons why you'd want to do this, but perhaps either the folder is used to store files the person cloning the repository needs to create, or a script creates custom files to put into that folder.


If you want to create a blank directory, you can do that easily, but it won't be pushed when we use git push to push it to your remote. As such we need to do something slightly different.


Create a blank directory in the Git Repository

The easiest way to do this is by creating a .gitignore file within the directory you want to maintain.


- index.html
- myRepository <-- Empty directory
- myCss
--- style.css
--- main.css


You may want to push myRepository to your git repository. To do that, create a new file in myRepository called .gitignore. In that file, put the following code:


*
*/
!.gitignore


This will ignore all files, folders, and subdirectories, but include the .gitignore file itself. This means the file will be pushed and we can keep the directory while not keeping any of its contents.


Next, just push your git repository as you would usually do by running the following commands:

git add .
git commit -m "Added .gitignore"
git push


Your directory will now persist in your repository, while the contents of the directory will not.


Also Published Here