https://stackoverflow.com/a/13102849
git checkout --orphan new_branch
git add -A # add all files and commit them
git commit
git branch -D master # deletes the master branch
git branch -m master # rename the current branch to master
git push -f origin master # force push master branch to github
git gc --aggressive --prune=all # remove the old files
https://stackoverflow.com/a/14885097
git checkout public
git merge --squash master
git commit