Migrer un dépôt Git d’un serveur à un autre est une opération courante, que ce soit pour changer de plateforme (de GitHub à GitLab, par exemple) ou pour consolider des projets. L’objectif est de transférer l’intégralité de l’historique, y compris toutes les branches et les tags.
La méthode mirror
est la plus fiable et la plus complète pour cette tâche.
Étape 1 : Cloner le dépôt en mode miroir
La première étape consiste à créer un clone “miroir” de votre dépôt source. Un clone miroir est une copie exacte de la base de données Git, incluant toutes les références internes, les branches distantes et les tags.
# Remplacez [URL_DU_DEPOT_SOURCE] par l'URL de votre ancien dépôt
git clone --bare [URL_DU_DEPOT_SOURCE]
Cette commande crée un dossier se terminant par .git
(par exemple, mon-projet.git
).
Étape 2 : Pousser le miroir vers le nouveau serveur
Ensuite, placez-vous dans le dossier nouvellement créé et poussez le miroir vers le nouveau dépôt. Assurez-vous d’avoir déjà créé un projet vide sur votre nouveau serveur Git pour y recevoir les données.
# Entrez dans le dossier du clone miroir
cd mon-projet.git
# Remplacez [URL_DU_NOUVEAU_DEPOT] par l'URL de votre nouveau dépôt
git push --mirror [URL_DU_NOUVEAU_DEPOT]
La commande git push --mirror
garantit que toutes les références (branches, tags, etc.) sont poussées vers le nouveau dépôt. C’est la méthode la plus sûre pour une migration complète.
Étape 3 : Nettoyage
Une fois la migration terminée, vous pouvez supprimer le dossier .git
local.
cd ..
rm -rf mon-projet.git
Votre dépôt est maintenant entièrement migré sur le nouveau serveur. Vous pouvez cloner le projet depuis sa nouvelle URL et continuer à travailler normalement.