ITSkillsCenter
Développement Web

Migrer GitHub vers Forgejo : tutoriel 2026 (code, issues, PR, Actions)

4 min de lecture

Migrer ses repos depuis GitHub vers Forgejo self-hosted est une opération qui peut sembler intimidante mais qui se fait en réalité en quelques heures grâce à l’import natif Forgejo qui copie code, issues, PR, wiki, releases. Voici le guide pratique 2026 pour migrer proprement, sans perdre l’historique ni la collaboration en cours.

Voir notre guide Forgejo.

Ce que la migration préserve

  • Code source complet avec tout l’historique Git
  • Toutes les branches
  • Tags et releases (avec assets binaires)
  • Issues (avec auteurs, labels, assignés, milestones)
  • Pull requests (avec reviews)
  • Wiki
  • Comments des issues et PR

Ce qui ne migre pas automatiquement

  • GitHub Actions workflows (à adapter manuellement, mais 90 % compatible)
  • Secrets repo (à recréer)
  • Webhooks (à reconfigurer)
  • Settings spécifiques GitHub (Pages, Discussions, Sponsors)
  • Forks externes (les forks deviennent des repos indépendants)

Étape 1 — Préparer côté GitHub

  1. Aller sur github.com/settings/tokens
  2. Generate new token (classic) → cocher repo, read:org, read:user
  3. Copier le token (commence par ghp_)

Étape 2 — Importer dans Forgejo

  1. Forgejo → « + » → « New Migration » (ou Repos → New Repository → Migrate)
  2. Service : « GitHub »
  3. Clone Address : https://github.com/votre-org/votre-repo
  4. Authorization (token) : votre ghp_xxx
  5. Owner : votre user ou organisation Forgejo
  6. Repository name : nom à donner
  7. Cocher : Issues, Pull Requests, Releases, Wiki, Labels, Milestones
  8. Visibility : Private (recommandé pour démarrer)
  9. Submit

L’import prend quelques minutes à quelques heures selon la taille du repo et le nombre d’issues/PR. Forgejo affiche la progression.

Étape 3 — Mirror push vers GitHub (optionnel)

Si vous voulez maintenir GitHub comme miroir public pendant la transition :

  1. Repo Forgejo → Settings → Advanced → Push Mirror
  2. URL : https://github.com/votre-org/votre-repo.git
  3. Username + Token GitHub
  4. Sync Interval : 8h ou à la demande

Forgejo poussera désormais automatiquement chaque commit vers GitHub.

Étape 4 — Migrer les workflows GitHub Actions

Les workflows YAML dans .github/workflows/ doivent être déplacés dans .forgejo/workflows/ ou .gitea/workflows/. La syntaxe est compatible à 90 %. Voir notre guide Forgejo Actions.

# Renommer le dossier
git mv .github/workflows .forgejo/workflows

# Vérifier les références aux secrets et variables, ajuster si besoin
# Test : push, vérifier que le workflow s'exécute

Étape 5 — Mettre à jour les remotes des laptops

# Sur chaque laptop dev
git remote set-url origin git@git.exemple.sn:user/repo.git
git remote -v
# vérifier l'URL change

Étape 6 — Recréer secrets et webhooks

  • Repo Forgejo → Settings → Secrets → recréer tous les secrets nécessaires
  • Repo Forgejo → Settings → Webhooks → recréer si vous aviez des intégrations externes (Slack, Discord, Sentry, Linear)
  • Recréer les Deploy Keys si nécessaire

Étape 7 — Migrer les contributeurs

Les commits gardent leur signature email d’origine. Pour que les contributeurs voient leurs commits liés à leur compte Forgejo, ils doivent ajouter dans leur profil l’email utilisé sur GitHub. Pas de migration automatique des comptes utilisateurs.

Étape 8 — Période de double-écriture

Pour minimiser les ruptures, gardez les deux remotes pendant 2-4 semaines :

# Configurer plusieurs remotes
git remote add forgejo git@git.exemple.sn:user/repo.git
git remote add github git@github.com:org/repo.git

# Push aux deux
git push forgejo main
git push github main

# Ou via mirror push automatique côté Forgejo (étape 3)

Étape 9 — Couper GitHub définitivement

  1. S’assurer que tout l’historique est bien sur Forgejo
  2. S’assurer que tous les contributeurs ont basculé
  3. Archiver le repo GitHub (Settings → Archive) plutôt que supprimer
  4. Supprimer les remotes github des laptops

Adaptation Afrique de l’Ouest

Pour une PME ouest-africaine de 5-10 développeurs, la migration GitHub → Forgejo est typiquement faite sur un weekend : import vendredi soir, validation samedi, communication équipe + bascule remotes lundi. Économie immédiate de 40-200 USD/mois selon le plan GitHub précédent.

Erreurs fréquentes

ErreurCauseSolution
Import très lentBeaucoup d’issuesPatience, ou import code+wiki seulement puis issues séparément
Mirror push échoueToken GitHub expiré ou portéeRégénérer token avec scope repo
Workflows GitHub Actions cassentActions tierces incompatiblesAdapter manuellement, voir guide Forgejo Actions
Issues sans assigneeUser GitHub pas trouvé chez ForgejoCréer compte avant import, ou ajuster post-migration

Pour aller plus loin

Besoin d'un site web ?

Confiez-nous la Création de Votre Site Web

Site vitrine, e-commerce ou application web — nous transformons votre vision en réalité digitale. Accompagnement personnalisé de A à Z.

À partir de 250.000 FCFA
Parlons de Votre Projet
Publicité