How to Undo ‘git init’ Command (with Examples)

Undoing git init command by deleting the .git folder from the project on command line

To “undo” the git init command, run:

rm -rf .git

This command removes the .git directory that was created to initialize the repository. All your work will still be there after running this command.

If you’re using Windows, undo the git init command by running:

rmdir /s .git

This guide teaches you how the git init command works in a nutshell and how to undo the command safely. You will find a practical example that you can play with to get a better understanding of how git init works and what the .git folder contains.

How Does the git init Command Work?

Creating a new Git repository starts by running the git init command on the terminal. You can run this command to turn an unversioned project into a new empty repository.

This sounds fancy, but all git init really does is creates a .git folder with the subfolders objects, refs/heads, and refs/tags with some template files. Notice that this folder is invisible, though.

Once your project folder has this .git folder, it’s considered a Git repo. And if there’s no such folder in the project, it’s no longer a Git repo.

This is why there’s no real way to “undo” the git init command. Instead, all you need to do is remove the .git folder.

Concrete Example

Let’s see a concrete example to support learning!

1. Initializing Git

Let’s start with a directory called test-project with a file called example.txt in it:

Now, let’s place this project under version control with git init:

$ git init

Great, now the version control kicks in and you can start tracking changes to the project.

2. Inspecting the .git Folder

As I mentioned previously, running this command creates an (invisible) .git folder for the project.

Let’s take a look at the project folder again:

Apparently, there’s no .git folder in plain sight. But let’s list the files and folders of the .git folder e.g. by using the ls command:

$ ls .git
branches/  config  description  HEAD  hooks/  info/  objects/  refs/

As you can see, there are many files and subfolders in the .git folder in the project folder where you initialized a Git repo.

Notice that removing the .git folder is a safe operation in the sense that all your work is kept in the project folder. However, you will lose access to the versioning of the project. This means you cannot for example travel back in time to revert a commit or such.

Let me demonstrate by continuing with the test-project folder.

3. Making an Initial Commit

First, let’s make a change to the example.txt file:

Next, let’s add and commit this change to the version control:

$ git add .
$ git commit -m "Add a change to the text file"

Now, let’s log the commit history with git log:

There’s the first commit.

4. “Undoing” the git init Command

Now, let’s say there’s no reason to keep this project under version control. To “undo” or “unadd” Git, you can safely remove the .git folder from the project.

$ rm -rf .git

If you now try to run any git command in the project folder, it will fail because the project is no longer a Git repo.

But as promised, the folder with its contents is still there. Only the .git folder was removed.

Summary

Today you learned how to “undo” the git init command. To recap, you cannot necessarily undo the git init command. Instead, you can remove your project from Git version control by removing the .git folder (rm -rf .git) that was created when you ran git init.

Thanks for reading. Happy coding!

Read Also