Merger deux dépôts Git, en conservant l'historique des fichiers
Enchaînement de commandes pour fusionner un dépôt Git dans un autre, en gardant l’historique des commits du dépôt initial :
# Dans le dépôt Git "à merger"
cd smallDepot
git mv <CONTENT> ./new/dir/structure # Réorganiser l'arborescence pour qu'elle s'intègre parfaitement dans le dépôt "principal" (par exemple, si ce dépôt contient un README.md, cela entraînera un conflit si le dépôt principal en contient un également
git commit -m "Préparation pré-merge"
# Dans le dépôt "principal"
cd ../mainDepot
git add/rm/commit/whatever # S'assurer que le dépôt est clean, sans changements non commités
git remote add -f small ../smallDepot
git merge small/main --allow-unrelated-histories --no-commit
# Valider que les fichiers sont bons, faires les modifs nécessaires
git add/rm/mv/whatever
git commit -m "Merging smallDepot"
git remote rm smallRaisons de le faire : je dispose dans mon boulot d’une base de nombreuses méthodologies techniques, sur des domaines et thématiques variés. Ces méthodologies sont issues d’années de mises à jour, historique que nous ne souhaitons pas perdre pour diverses raisons. Intégrer les fichiers au sein du dépôt principal en les copiant entraînerait la perte de cet historique. Cette méthode de merge permet de conserver les commits initiaux, même si cela crée des branches un peu perdues, on peut toujours remonter à l’origine de tous les fichiers.
Commandes provenant de plusieurs endroits, dont notamment ce blog .
Last updated on