developer tools

Wie Sie von GitHub zu Codeberg migrieren

GitHub Codeberg
Schwierigkeit: Einfach Geschätzte Zeit: 1-2 Stunden pro Repository (meist automatisiert)

Schritt-für-Schritt-Anleitung zum Verschieben Ihrer Repositories von GitHub zu Codeberg, der deutschen Non-Profit-Git-Hosting-Plattform. Kostenlos für Open Source, EU-gerichtsbarkeitlich und auf Forgejo aufgebaut.

Voraussetzungen

  • GitHub-Konto mit Admin-Zugriff auf Repositories
  • Codeberg-Konto (kostenlos)
  • Lokal konfigurierter SSH-Key
  • Vertrautheit mit Git-Remote-Verwaltung

Schritte

  1. Codeberg-Konto erstellen

    Auf codeberg.org per E-Mail registrieren oder direkt aus GitHub mit der OAuth-Anmeldung migrieren.

  2. Zu migrierende Repos entscheiden

    Open-Source-Projekte: vollständig migrieren. Persönliche Projekte: migrieren oder spiegeln. Kommerzieller proprietärer Code: Self-Hosting von Forgejo bei Hetzner stattdessen erwägen.

  3. Codebergs GitHub-Import nutzen

    Neues Repository > Migration > GitHub. Authentifiziert sich via OAuth und importiert Issues, Pull Requests, Wiki und Labels.

  4. CI/CD-Verweise aktualisieren

    Codeberg unterstützt Woodpecker CI (ähnlich GitHub Actions). Übersetzen Sie Ihre .github/workflows/ zu .woodpecker.yml oder nutzen Sie externes CI.

  5. SSH-Keys und Git-Remotes einrichten

    SSH-Key zu Codeberg hinzufügen und lokale Git-Remotes von github.com auf codeberg.org aktualisieren.

  6. README-Badges und externe Verweise aktualisieren

    GitHub-Badges (Build-Status, Version) durch Codeberg-kompatible Äquivalente ersetzen.

  7. GitHub-Mirror einrichten (optional)

    GitHub als Read-Only-Mirror behalten für Sichtbarkeit, während Codeberg die Source of Truth wird.

  8. GitHub-Repos archivieren oder löschen

    Nach 30 Tagen Sicherheit die GitHub-Kopie archivieren (Soft Delete) oder vollständig löschen.

Warum von GitHub zu Codeberg migrieren?

GitHub ist 2026 die dominierende Git-Hosting-Plattform. Es gehört auch Microsoft, wird auf US-Infrastruktur gehostet, die dem CLOUD Act unterliegt, und entwickelt sich zunehmend zu einer KI-Trainingsdatenquelle, ob Sie nun zugestimmt haben oder nicht. Für europäische Open-Source-Projekte, einzelne Entwickler und Organisationen, die ihren Code unter EU-Gerichtsbarkeit halten möchten, ist Codeberg die glaubwürdige Alternative.

Codeberg ist ein deutscher gemeinnütziger Git-Hosting-Dienst, der auf Forgejo (dem community-gepflegten Fork von Gitea) aufbaut. Kostenlos für Open-Source-Projekte, spendenfinanziert, EU-residiert und explizit um die Werte von FOSS-Nachhaltigkeit und digitaler Souveränität herum aufgebaut. Das, was die Open-Source-Community einem ‘GitHub, aber europäisch’ am nächsten kommt.

Für kommerziellen proprietären Code ist die natürliche Alternative selbst gehostetes Forgejo bei Hetzner — dieselbe Software, gehostet auf eigener Infrastruktur, kostet ca. 5-30 €/Monat insgesamt unabhängig von der Teamgröße. Dieser Leitfaden konzentriert sich speziell auf Codeberg, aber die Migrationsschritte funktionieren identisch für selbst gehostetes Forgejo.

Detaillierte Migrationsschritte

Schritt 1: Codeberg-Konto erstellen

Besuchen Sie codeberg.org und erstellen Sie ein Konto. Kostenlos, erfordert nur E-Mail. Keine Kreditkarte.

Für Organisationen, die migrieren, erstellen Sie nach der individuellen Registrierung ein Organisationskonto — so können Sie Repositories unter dem Org-Namespace übertragen oder forken.

Schritt 2: Entscheiden, was zu migrieren ist

Seien Sie wählerisch. Die Migration geht schneller, wenn Sie nicht zehn Jahre toter Repositories mitnehmen.

Vollständig migrieren:

  • Aktive Open-Source-Projekte
  • Persönliche Projekte, deren Verlust schmerzhaft wäre, falls GitHub feindselig wird
  • Repositories mit sensiblem Code oder Geschäftslogik

Mirror erwägen (Read-only-Sync GitHub → Codeberg):

  • Inaktive, aber referenzierte Repos
  • Öffentliche Projekte, bei denen GitHub-Sichtbarkeit weiterhin wichtig ist

Überspringen / archivieren:

  • Lang tote persönliche Experimente
  • Repos, die nur als Referenzen oder Forks existieren

Für kommerziellen proprietären Code statt Codeberg selbst gehostetes Forgejo bei Hetzner evaluieren. Codebergs Mission ist Open-Source-Community-Hosting; kommerzielle Repos sind akzeptiert, aber der Charakter der Plattform passt besser zu FOSS-Arbeit.

Schritt 3: Codebergs GitHub-Import nutzen

Codeberg hat einen eingebauten GitHub-Import:

  1. Klicken Sie auf + → Neue Migration
  2. Wählen Sie GitHub
  3. Mit GitHub OAuth authentifizieren (oder Personal Access Token verwenden)
  4. Repository zum Import auswählen
  5. Wählen Sie, was zu migrieren ist:
    • Wiki
    • Issues
    • Labels
    • Pull Requests (als Issues, da GitHub-PRs und Codeberg-PRs nicht 1:1 kompatibel sind)
    • Releases
    • Meilensteine
  6. Repository migrieren klicken

Für Repositories mit Tausenden von Issues kann die Migration 30-60 Minuten dauern. Machen Sie sich keine Sorgen darüber, andere Arbeit währenddessen zu erledigen — Codeberg behandelt es asynchron.

Schritt 4: CI/CD-Verweise aktualisieren

Codeberg nutzt Woodpecker CI (analog zu GitHub Actions). Übersetzen Sie Ihre .github/workflows/*.yml zu .woodpecker.yml:

# Beispiel: .woodpecker.yml
steps:
  build:
    image: node:20
    commands:
      - npm install
      - npm run build
      - npm test

Für komplexe GitHub-Actions-Workflows kann die Übersetzung nicht-trivial sein. Pragmatische Alternativen:

  • Externe CI-Anbieter, die Codeberg unterstützen: Drone Cloud, CircleCI (mit ihrer generischen Git-Integration)
  • Selbst gehostetes CI bei Hetzner: GitLab Runner auf Codeberg gerichtet oder selbst gehostetes Woodpecker

Für die meisten Projekte dauert die Workflow-Übersetzung einige Stunden und produziert einfachere, lesbarere CI-Konfiguration.

Schritt 5: SSH-Keys und Git-Remotes einrichten

SSH-Key hinzufügen:

  1. Codeberg → Benutzereinstellungen → SSH/GPG-Keys
  2. Öffentlichen Key einfügen

Lokale Git-Remotes aktualisieren:

# Remote von GitHub auf Codeberg ändern
git remote set-url origin git@codeberg.org:username/repo-name.git

# Oder Codeberg als zusätzliches Remote hinzufügen (für Parallelbetrieb)
git remote add codeberg git@codeberg.org:username/repo-name.git
git push codeberg --all
git push codeberg --tags

Schritt 6: READMEs und Badges aktualisieren

GitHub-spezifische Badges und Links müssen aktualisiert werden:

  • Build-Status-Badges → Woodpecker-CI-Badges verwenden
  • Versions-Badges → Codeberg unterstützt shields.io-Muster
  • Download-Zählungen → Codeberg-Releases haben ähnliche APIs
  • Issue-Links in der Dokumentation → von github.com/user/repo/issues auf codeberg.org/user/repo/issues aktualisieren

Schritt 7: GitHub-Mirror einrichten (optional)

Für Projekte, bei denen GitHub-Sichtbarkeit weiterhin wichtig ist (Open-Source-Projekte, die über GitHub-Suche entdeckt werden), GitHub als Read-only-Mirror behalten:

# Codeberg hat eine eingebaute Push-Mirror-Funktion
# Repository-Einstellungen > Repository > Push Mirror
# github.com/user/repo mit Personal Access Token hinzufügen

So bleibt Codeberg Ihre Source of Truth, während die GitHub-Präsenz erhalten bleibt.

Schritt 8: GitHub-Repos archivieren oder löschen

Nach 30 Tagen Sicherheit:

  • Archivieren (empfohlen): Repository-Einstellungen → Repository archivieren. Read-only, bewahrt Historie, signalisiert Besuchern ‘verschoben’.
  • Löschen (wenn Sie sicher sind): Einstellungen → Danger Zone → Repository löschen.

Beide Optionen funktionieren. Archivieren ist die sicherere Standardoption — es bewahrt den Migrationsweg und gibt Ihnen Fallback, falls Sie etwas entdecken, das nicht migriert wurde.

Tipps für eine reibungslose Migration

  • Migrieren Sie zunächst ein Repository als Test. Wählen Sie ein Repo mit geringem Einsatz, um den Workflow zu validieren, bevor Sie sich auf Massenmigration festlegen.
  • GitHub-Actions-Komplexität ist die Hauptmigrations-Friktion. Wenn Ihre Workflows Drittanbieter-Actions stark nutzen, Zeit für Übersetzung oder Ersatz einplanen.
  • Codebergs API ist ähnlich, aber nicht identisch mit GitHubs. Benutzerdefinierte Tools, die GitHub API aufrufen, müssen aktualisiert werden, um Codebergs Forgejo-kompatible API zu nutzen.
  • Codebergs Ressourcenlimits sind für FOSS ausgelegt. Wenn Sie sehr große Repos haben oder umfangreiches CI laufen lassen, ziehen Sie selbst gehostetes Forgejo bei Hetzner in Betracht — dieselbe Software, eigene Ressourcen.
  • Spenden Sie. Codeberg ist spendenfinanziert. Wenn Sie es langfristig nutzen, tragen Sie zur Nachhaltigkeit bei. 5-10 €/Monat sind für das Projekt bedeutsam.
  • Für Organisationen, die große Codebasen migrieren: Selbst gehostetes Forgejo als primär mit Codeberg-Mirror für Community-Projekte erwägen. Best of both — volle Kontrolle + Sichtbarkeit, wo es zählt.
  • Migrieren Sie nicht alles auf einmal. Die meisten Unternehmen, die erfolgreich zu Codeberg migrierten, taten dies projektweise über 3-6 Monate und validierten jedes vor dem Weitermachen.

War das hilfreich?