Comes over
The complete Git history, every branch, every tag, submodule pointers, and your .github/workflows files — because it is a Git push.
Migrate
Four steps, all of them ordinary Git after the first command. Keep both remotes for a week or a quarter, and cut over when the team is ready — or never.
01
gbb repo create adds a remote named gbb beside origin. Nothing about origin, your branches, or their upstreams changes.
$ gbb repo create acme/checkout-api --private --source . --remote gbb
created repository acme/checkout-api at https://gbb.example/acme/checkout-api
added remote gbb -> https://gbb.example/acme/checkout-api; origin was not changed
02
Plain git. Full history, all branches, all tags — and because this is a push, not a set-upstream, your local branches keep tracking origin.
$ git push gbb --all
$ git push gbb --tags
* [new branch] main -> main
* [new tag] v1.9.3 -> v1.9.3
03
Push to both remotes while the team gets used to reviewing here. Actions is planned for launch: workflows in .github/workflows will run here on push. Until then, other CI can keep reporting check runs through the API or gbb.
$ git push origin main && git push gbb main
Everything up-to-date
04
When you are ready, swap the remote names. Existing clones keep working against old-origin until each person repeats the two renames.
$ git remote rename origin old-origin
$ git remote rename gbb origin
The complete Git history, every branch, every tag, submodule pointers, and your .github/workflows files — because it is a Git push.
Issues, pull requests, and CI secrets and settings. There is no importer; those start fresh here.
git remote remove gbb. Nothing else on your machine or in the old host was touched.
Wondering about limits on repository size or pack objects? See technical limits.
Create an account, run the first command, and your repository is here — with the old one exactly where it was.