As pointed out by @johntyree in the comments, using git reflog is easier and more reliable. Thanks for the suggestion!…
What’s wrong with the
--orphan option? If you want a branch that is empty and have no history, this is the way to go…
git checkout --orphan empty-branch
Then you can remove all the files you’ll have in the staging area (so that they don’t get committed):
git rm -rf .
At this point you have an empty branch, on your machine.
Before you can push to GitHub (or any other Git repository), you will need at least one commit, even if it does not have any content on it (i.e. empty commit), as you cannot push an empty branch
git commit --allow-empty -m "root commit"
Finally, push it to the remote, and crack open a beer
git push origin empty-branch