Je veux étendre sur une autre question que j'avais: Merge two Git repositories and keep the master historyFusionner deux prises en pension Git et de garder l'histoire
j'ai réussi à fusionner 2 différentes années prises en pension dans une pension. J'avais besoin d'un rebase pour le faire avec succès. Le maître est correct, mais Je veux également conserver l'historique de fusion. Est-ce possible?
J'ai 2 dépôts:
Ceci est le résultat après rebasage. Les heures du repo supérieur sont le temps de rebasage. La date d'origine est perdue!
Voilà comment je l'ai fait:
# Assume the current directory is where we want the new repository to be created
# Create the new repository
git init
# Before we do a merge, we have to have an initial commit, so we'll make a dummy commit
dir > Read.md
git add .
git commit -m "initial commit"
# Add a remote for and fetch the old RepoA
git remote add -f RepoA https://github.com/DimitriDewaele/RepoA
# Do the same thing for RepoB
git remote add -f RepoB https://github.com/DimitriDewaele/RepoB
# Rebase the working branch (master) on top of repoB
git rebase RepoB/master
# Rebase the working branch (master with RepoB) on top op repoA
git rebase RepoA/master
Est-il possible d'avoir quelque chose comme ça? (solution peint !!!)
Je voudrais garder le temps d'origine + l'histoire de fusion.
MISE À JOUR - RÉPONSE
La réponse qui fonctionne le mieux pour moi, travaillait avec des points de greffe. Mais d'autres réponses sont également très utilisables dans d'autres cas d'utilisation. J'ai ajouté mes résultats sur github, afin que tout le monde puisse évaluer.
Réponse 1: Meilleur travail dans mon cas La 'greffe' a révélé la bonne réponse de travail pour moi.
Réponse 2 l'option "remplacer" de "LeGEC" donne également de bons résultats pour certains cas d'utilisation. Une anomalie est restée pour moi:
Réponse 3: convient d'ajouter La réponse de 'VonC'. Je ne pouvais pas obtenir l'option '--preserve-merges' dans mon cas.Cela pourrait fonctionner dans d'autres scénarios, mais je n'ai pas testé ce furtner.
Voulez-vous garder repoA juste pour être en mesure d'inspecter son histoire? ou sera repoA être un dépôt en direct, avec de nouveaux commits, tirer des demandes etc? – LeGEC
@LeGEC Je voudrais seulement inspecter l'histoire avec l'histoire de la branche. De nouveaux travaux se produiront au-dessus du repo résultant. –