Not that the git UI doesn't leave a lot to be desired, but git has a nice security blanket:
git reflog
Now you can feel free rebase with abandon.
git reflog
Now you can feel free rebase with abandon.
Of course you can always give a branch name or tag to any commit to keep it alive too.