Git – Remove All Commits – Clear Git History (Local & Remote)

In this article i am showing how to clear Git history by removing all commits.

You may need this if you want to delete sensitive data from the history of Git commits.

After such cleanup you will have the latest version of your Git repository, but with the one commit only.

Be aware that after resetting all the history of changes in your Git repository will be deleted as well.

Cool Tip: Made a mistake? Undo last Git commit! Read more →

Clear Git History

Create a temporary branch and checkout:

$ git checkout --orphan temp_branch
Option Description
--orphan Create a branch in a git init-like state

Add all files to the temporary branch and commit the changes:

$ git add -A
$ git commit -am "The first commit"

Delete the master branch:

$ git branch -D master

Rename the temporary branch to master:

$ git branch -m master

Forcefully update the remote repository:

$ git push -f origin master

Cool Tip: Revert a file to the previous commit! Read more →

Recommended Book

This pocket guide is the perfect on-the-job companion to Git.

It provides a compact, readable introduction to Git for new users, as well as a reference to common commands and procedures for those of you with Git experience.

Learn how to use Git for several real-world development scenarios.