Make the current commit the initial commit in a Git repository
Published on 2017-12-10. Modified on 2018-11-12.
In this tutorial we're gonna take a look at how you can make the current commit in your Git repository the initial and only commit. This is useful if you're using Git as a backup solution and you want to clean out old files. It also works on GitHub.
This is the brute-force approach.
Note: This does NOT work if the repository has submodules! If you are using submodules, you should use e.g. interactive rebase.
Start by moving your config:
$ mv .git/config .
Then delete the Git repository:
$ rm -rf .git
Then reconstruct the Git repository with only the current content:
$ git init $ mv config .git/ $ git add . $ git commit -a -m "Initial commit"
Then push it:
$ git push -u --force origin master
That's it.