Я хочу продолжить еще один вопрос: Объединить два репозитория Git и сохранить главную историю
Мне удалось слить 2 разных репо в одно репо. Для этого мне понадобилась перезагрузка. Мастер прав, но Я также хочу сохранить историю слияния. Возможно ли это?
У меня есть 2 репозитория:
Это результат после перезагрузки. Время верхнего репо - это время восстановления. Исходная дата потеряна!
Вот как я это сделал:
# 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
Возможно ли иметь что-то вроде этого? (раскрашенное решение!!!)
Я хотел бы сохранить исходное время + историю слияния.
ОБНОВЛЕНИЕ - ОТВЕТ
Ответ, который работал лучше всего для меня, работал с точками трансплантата. Но другие ответы также очень полезны в других случаях использования. Я добавил свои результаты в github, поэтому каждый может оценить.
Ответ 1: Лучшая работа в моем случае "Трансплантат" показал правильный рабочий ответ для меня.
Ответ 2 опция "replace" из "LeGEC" также дает хорошие результаты для некоторых вариантов использования. Одна аномалия осталась для меня:
Ответ 3: стоит добавить. Ответ от "VonC". Я не мог получить вариант "-preserve-merges working" в моем случае. Это может работать в других сценариях, но я не тестировал этого furtner.