The only lesson to be learned here, one that needs to be repeated time and time again:
Don't put all your eggs into one basket.
Don't put all your eggs into one basket.
Use something that you can run your own instance of (like GitLab) and make the cloud version a shadow copy of your local one. That way if they pull the rug out from under you, you actually have some way of dealing with the issue.
And... Use Gitlab
Just backup your repos once a year, lets not be paranoid.
The point was that nobody does that for backup purposes in advance, and maintaining local Gitlab along with supportive infrastructure is not trivial task.