我有两个 git 存储库以及它们之间的许多未跟踪的更改:
ftp --> C-- (untracked changes) --D
/ \
git A--B--C <-- old/master \
\
\
new/master --> D--E--F
如何将旧存储库合并到新存储库以具有线性历史记录
A--B--C--D--E--F
编辑:
我已经搞定了:
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
唯一的问题是来自 new/master 的每次提交都加倍(由于我认为父级的更改)所以我现在已经(M 是合并提交)
D---E---F--
\
A--B--C--D'--E'--F'--M
如何轻松删除不必要的提交(D - F 可能还有 M)?