Advanced
Migrate to konnos
Already have your code on someone else's platform? Bring it home. konnos can mirror a repository in — every branch, tag, and commit — so nothing is left behind. This is the whole point: your code, your continent.
Option A · Mirror-push with git
The plain-git way, with no special tooling. You make a mirror clone of the old repo (which grabs the complete history and all refs) and push that mirror straight into a fresh konnos repository.
- 1
Create the destination repo on konnos
Make an empty repository on konnos to receive the code — see Repositories. (Don't seed a README; you want it empty.)
- 2
Mirror-clone the old repo
git clone --mirror https://old-host.com/you/project.git cd project.git--mirrorpulls down everything — all branches, tags, and history — not just the default branch. - 3
Push the mirror to konnos
git push --mirror https://code.konnos.org/<you>/project.gitWhen prompted, use your username and a Personal Access Token. That's it — the full repo now lives on konnos.
Option B · The import flow
Rather than run git yourself, you can point konnos at the source clone URL and let it pull the repository in for you. The easiest way is the in-app wizard: open Import a repository, paste the clone address, pick a name and visibility, and konnos copies the full history over. Under the hood the MCP phone line exposes the same path as the import_repo tool, so an agent can migrate a repo as part of a larger job:
{
"tool": "import_repo",
"arguments": {
"clone_addr": "https://old-host.com/you/project.git",
"repo_name": "project",
"private": true
}
}Importing a private source
If the old repository is private, pass auth_username and auth_password (a token works as the password) so konnos can read it. Set mirror: true if you want konnos to keep it synced with the source rather than take a one-time copy.
Leave Codeberg → konnos (click-by-click)
This is the path most people need first — especially if Codeberg warned that a repository is too large or may be disabled.
- 1
Copy the Codeberg clone URL
On Codeberg open the repository → green clone button → copy the HTTPS URL. It looks like
https://codeberg.org/you/project.git. - 2
Sign in to konnos and open Import
Go to Import a repository (or Repositories → Import from Codeberg).
- 3
Paste URL, name it, import
Paste the Codeberg URL. Konnos fills the name. Leave visibility private unless you want it public. If the Codeberg repo is private, paste a Codeberg access token in the token field. Click import and wait — large histories take longer.
- 4
Point your laptop at konnos
git remote set-url origin https://code.konnos.org/<you>/project.git git remote -v # then push as usual git push -u origin mainUse a personal access token as the password over HTTPS, or set up SSH.
- 5
Confirm, then retire Codeberg when ready
On konnos check branches, commits, and a fresh clone. When you are happy, archive or delete the Codeberg copy on your own timeline — konnos does not touch Codeberg for you.
Big repositories
Large histories are why konnos exists. Prefer the import wizard or a local git clone --mirror + git push --mirror if the wizard times out. Never interrupt a mirror push mid-way if you can help it.
After the move
Update your local checkout to point at konnos so your next push goes to the right place:
git remote set-url origin https://code.konnos.org/<you>/project.gitThen browse the repo on konnos to confirm your branches and history came across intact. Welcome home.