How Do I Remove a Directory From a Git Repository

Git is a popular version control system that is used for managing code changes and keeping track of the history of a software project.

Over time, a project may evolve and some files or directories may become unnecessary.

In such cases, it is important to remove them from the Git repository to keep it clean and organized.

In this tutorial, we will discuss how to remove a directory from a Git repository.

Check the Status of the Repository

Before making any changes, it is always a good practice to check the status of the repository.

You can use the following command to check the status:

$ git status

This command will show you the current status of the repository and the files that have been modified.

Remove the Directory

To remove a directory, you can simply delete it using your file explorer or the command line.

However, this will not remove it from the Git repository.

To do that, you need to use the following command:

$ git rm -r directory_name

The -r option is used to remove a directory and its contents recursively.

If the directory is not empty, you will be prompted to confirm the deletion.

Commit the Changes

After removing the directory, you need to commit the changes to the Git repository.

You can use the following command to commit the changes:

$ git commit -m "Remove directory_name"

The -m option is used to specify a commit message.

This message should briefly describe the changes that were made.

Push the Changes to the Remote Repository

Finally, you need to push the changes to the remote repository.

You can use the following command to push the changes:

\$ git push origin master

The origin argument specifies the remote repository, and the master argument specifies the branch to which you want to push the changes.


In conclusion, removing a directory from a Git repository is a simple process that involves deleting the directory, committing the changes, and pushing the changes to the remote repository.

By following these steps, you can keep your Git repository organized and up-to-date.