Fusionner un dépot git dans un autre

Ce blog était répartis entre 2 dépôts git. Un premier dépot avec les fichiers de configurations, thèmes etc… et un second dédié au contenu.

Hugo permet de dissocier les dossiers, via l’instruction contentDir.

Le hic, c’est que tous les outils ne le comprennent pas.

J’ai donc décidé de fusionner les 2 dépôts. Comment faire ça, sans perdre l’historique git ?

La suite est la méthode que j’ai utilisé.

Ajouter le dépôt secondaire comme dépôt distant du dépôt principal

Ajoutez le second dépôt (celui que vous voulez fusionner) comme un dépôt distant distinct.

git remote add depot-secondaire <URL-du-depot-secondaire>

Récupérer les branches

On récupère toutes les branches du dépôt secondaire :

git fetch

Fusionner les dépôts

Il faut créer une nouvelle branche et basculer dessus :

git checkout -b branche-depot-secondaire

Fusionner la branche principale du dépôt secondaire à notre nouvelle branche

git merge depot-secondaire/master --allow-unrelated-histories

--allow-unrelated-histories : cette option permet de fusionner 2 dépôts qui n’ont rien à voir entre eux.

Fusion de la branche du dépôt secondaire sur le master du primaire

Si vous avez suivi, on a 2 branches : master qui est la branche principale du dépôt qu’on garde et une branche branche-depot-secondaire qui contient les fichier du master du dépôt qu’on va supprimer.

On repart sur notre branche principale :

git checkout master

On merge les 2 branches :

git merge branche-depot-secondaire

valider la fusion :

git commit

A partir de maintenant, vous avez les fichiers dans votre dépôt principal et l’ensemble de l’historique git.

Ménage

On supprime la branche distante :

git remote remove depot-secondaire

On supprime la branche devenue inutile :

git branch -d branche-depot-secondaire

Licensed under CC BY-NC-SA 4.0
Généré avec Hugo
Thème Stack conçu par Jimmy