Suppose you decided to leave GitHub and had already set up a self-hosted git instance. What would be the best way to go about moving a couple dozen repositories?

  • Archive the repos as they are?
  • Delete the repos altogether?
  • Turn the repos into mirrors?
  • Force-push a new git history with a single commit whose README directs people to the new source location?
  • Some combination of the above? (It should be possible to keep existing branches, but make a new notice branch the default.)

I'm specifically thinking about cases where other people have referenced my repos somewhere. Failing silently (i.e. leaving history but not pushing anything new) seems to be the worst solution to me. Ideally I'd like for humans to find the way, but for automated tools to fail verbosely?

Also, migrating issues isn't really possible, right?

@siguza I’ve frequently migrated repositories between self-hosted Git servers using a mirror clone (git clone --mirror), although most modern platforms now provide built-in migration tools via their web UI.
@Renero that does not address anything in my question...
@Renero I guess it addresses the issues part. But not the bulk of the question...
@siguza Personally, I would make the repository read-only and indicate the link to the new one in the readme file.