Mesclar dois repositórios Git e manter a história

Quero estender sobre outra pergunta que tive:Mesclar dois repositórios Git e manter o histórico mestre

Consegui mesclar 2 repositórios diferentes em um repositório. Eu precisava de uma reformulação para fazer isso com sucesso. O mestre está correto, masEu também quero manter o histórico de mesclagem. Isso é possível?

Eu tenho 2 repositórios:

https://github.com/DimitriDewaele/RepoAhttps://github.com/DimitriDewaele/RepoB

Este é o resultado após o rebaseamento.Os horários do repo superior são o tempo de recuperação. A data original está perdida!

https://github.com/DimitriDewaele/RepoMerged

Foi assim que eu fiz:

# 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

É possível ter algo assim? (solução pintada !!!)

Gostaria de manter o tempo original + o histórico de mesclagem.

ATUALIZAÇÃO - RESPOSTA

A resposta que funcionou melhor para mim foi trabalhar com pontos de enxerto. Mas outras respostas também são muito úteis em outros casos de uso. Adicionei meus resultados no github para que todos possam avaliar.

Resposta 1: Melhor trabalhando no meu caso O 'enxerto' revelou a resposta correta para mim.

GitHub: RepoGraft

Resposta 2 a opção "substituir" do "LeGEC" também fornece bons resultados para alguns casos de uso. Uma anomalia ficou para mim:

GitHub: RepoHistory

Resposta 3: Vale a pena adicionar A resposta de 'VonC'. Não consegui obter a opção '--preserve-merges working' no meu caso. Isso pode funcionar em outros cenários, mas não testei esse ponto.

questionAnswers(3)

yourAnswerToTheQuestion