Migrating a Repository to git.eu
This guide covers how to migrate an existing repository from GitHub, GitLab, or any Git host to git.eu - all branches, tags, and history arrive intact.
Prerequisites
- Git installed locally (2.30+ recommended for full mirror support)
1. Configure Your Access
Before you can push, authenticate the git command-line client for your instance. The
quick start guide sets up your credentials in a couple of minutes - install a
small helper once, sign in through your browser, and tokens refresh automatically after that.
2. Mirror an Existing Repository
Create the empty repository on your instance first (web UI: New repository). Then, in your
existing local clone, point origin at git.eu and push everything in one operation:
git remote remove origin
git remote add origin https://<INSTANCE>.git.eu/<USERNAME>/REPO_NAME.git
git push --mirror origin
push --mirror pushes every branch, tag, and ref in one operation - all history arrives intact.
REPO_NAME is the name you gave the new empty repository; <INSTANCE> and <USERNAME> resolve
automatically when you are signed in on this site (swap them by hand otherwise).
refs/remotes/ not being deleted. This is
harmless - the mirror is complete.
Tools
Automated import tools are coming soon - one-click, browser-based migration from any source host will land here.
Verify the Migration
After pushing, confirm all branches and tags arrived:
# List remote branches
git ls-remote --heads origin
# List remote tags
git ls-remote --tags origin
Or browse the repository on your instance to confirm the branch list and commit history.
Troubleshooting
HTTP 413 - Request Entity Too Large
The server rejected the push because the repository exceeds the size limit (2 GB). Contact the server administrator.
RPC failure / curl 65 - Connection reset
error: RPC failed; curl 65 Recv failure: Connection reset by peer
The push likely succeeded - Git lost the response but the data landed. Run git push again;
if it prints Everything up-to-date, the migration is complete.
If it fails repeatedly, increase the client buffer:
git config --global http.postBuffer 524288000
Then retry.