Wie Sie von GitHub zu Codeberg migrieren
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
-
Codeberg-Konto erstellen
Auf codeberg.org per E-Mail registrieren oder direkt aus GitHub mit der OAuth-Anmeldung migrieren.
-
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.
-
Codebergs GitHub-Import nutzen
Neues Repository > Migration > GitHub. Authentifiziert sich via OAuth und importiert Issues, Pull Requests, Wiki und Labels.
-
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.
-
SSH-Keys und Git-Remotes einrichten
SSH-Key zu Codeberg hinzufügen und lokale Git-Remotes von github.com auf codeberg.org aktualisieren.
-
README-Badges und externe Verweise aktualisieren
GitHub-Badges (Build-Status, Version) durch Codeberg-kompatible Äquivalente ersetzen.
-
GitHub-Mirror einrichten (optional)
GitHub als Read-Only-Mirror behalten für Sichtbarkeit, während Codeberg die Source of Truth wird.
-
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:
- Klicken Sie auf + → Neue Migration
- Wählen Sie GitHub
- Mit GitHub OAuth authentifizieren (oder Personal Access Token verwenden)
- Repository zum Import auswählen
- 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
- 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:
- Codeberg → Benutzereinstellungen → SSH/GPG-Keys
- Ö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/issuesaufcodeberg.org/user/repo/issuesaktualisieren
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?