У меня есть два репозитория git и много нереакционных изменений между ними:
ftp --> C-- (untracked changes) --D
/ \
git A--B--C <-- old/master \
\
\
new/master --> D--E--F
Как я могу объединить старый репозиторий в новый репозиторий с линейной историей, например
A--B--C--D--E--F
EDIT:
вдохновленный Как объединить хранилища git в линейную историю?
Я сделал:
git clone url://new new
cd new/
git remote add old url://old
git fetch old
git reset --hard origin/master
git filter-branch --parent-filter 'sed "s_^\$_-p old/master_"' HEAD
git push origin master
Единственная проблема заключается в том, что каждая фиксация из нового /master была удвоена (из-за изменения родителя, я думаю), поэтому я теперь (M - фиксация слияния)
D---E---F--
\
A--B--C--D'--E'--F'--M
Как я могу легко удалить ненужные коммиты (D - F и, возможно, M)?