Łączenie dwóch repozytoriów git w celu uzyskania historii liniowej
Mam dwa repozytoria git i wiele nieśledzonych zmian między nimi:
ftp --> C-- (untracked changes) --D
/ \
git A--B--C <-- old/master \
\
\
new/master --> D--E--F
Jak mogę połączyć stare repozytorium w nowe repozytorium, aby mieć liniową historię
A--B--C--D--E--F
EDYTOWAĆ:
zainspirowany przezJak mogę połączyć repozytoria Git w liniową historię?
Zrobiłem:
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
Jedynym problemem jest to, że każde zatwierdzenie z new / master zostało podwojone (myślę, że ze względu na zmianę rodzica), więc teraz (M jest zatwierdzeniem scalania)
D---E---F--
\
A--B--C--D'--E'--F'--M
Jak mogę łatwo usunąć niepotrzebne zatwierdzenia (D - F i może M)?