Your Code. Your Rules.

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).


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.


Next Steps