Search code examples
git

How Can I Remove All History (commits and etc.) of Huge GIT Repo


I have a git repo over 200GB in size. How can I completely delete the history of this repo? I don't want to move it to a new repo due to the size of the repo.

I only want to remove all commit history of this repo. Without moving to a new repo or creating a new one or pushing all the files again.


Solution

  • Deleting the .git folder may cause problems in your git repository. If you want to delete all your commit history but keep the code in its current state, it is very safe to do it as in the following:

    Checkout/create orphan branch (this branch won't show in git branch command):

    git checkout --orphan latest_branch Add all the files to the newly created branch:

    git add -A Commit the changes:

    git commit -am "commit message" Delete main (default) branch (this step is permanent):

    git branch -D main Rename the current branch to main:

    git branch -m main Finally, all changes are completed on your local repository, and force update your remote repository:

    git push -f origin main PS: This will not keep your old commit history around. Now you should only see your new commit in the history of your git repository.