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.
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.
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: Git Fetch vs Git Pull