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