https://stackoverflow.com/questions/3640764/can-i-recover-a-...
And yes, I know they're kept in the reflog. But that is short-lived and (I believe) local rather than eternal and global like everything else in git.
You could tag, but then you are just polluting your tag namespace with old branches.
> ok but then I lose it's nice handle.
Then don't delete the handle? Maybe rename it with a `deleted/` prefix?
It's hard to imagine what the expected behaviour is when branch names are just local convenience labels.
So in the general sense, there's no reason we can't have exactly what's being discussed, but it just doesn't exist yet.
Though it only logs refs that the server itself has seen, which is more or less what I meant by "local". None of its state is shared during push/pull, it's computed entirely based upon what some individual client/server directly observes.
"Have you committed your changes to Svend yet?", "No, Svend is experiencing some downtime right now", that was some fun interactions that got us through computer science.
Git is a fun name too, but it is not nearly as funny to me.
TortoiseSVN was a great SVN client integrated into Windows File Explorer, and it looked great when you used the classic theme on Windows XP.
I've seen this happen a few times with a dev running `git push -f` with the intent to update their dev branch, except that it would force-push all branches in their clone that were associated with the remote, like master. It probably doesn't happen these days though, because the default was changed at some point to only push the current branch.