如何将一个git历史追加到另一个?

sty*_*ger 6 git git-submodules git-subtree

我有一个存储库,其中包含不再使用的旧版网站的代码master.该站点在一个新的存储库中完全重新设计,该存储库中的代码和历史记录被复制到旧站点的repo中的一个分支中,让我们调用它new_site.我无法合并new_sitemaster,因为历史是完全不同的.

我已经调查过两个子模块和子树合并了一下,但是当你试图保持代码来自另一个项目的子目录中包含的一个项目时,两者似乎只是相关的,而不是当你想要在两个工作树之上粘贴两个工作树时彼此.

此时,我希望将旧代码保留在原来的位置,并将其添加new_site到当前HEAD的顶部.任何想法我怎么能做到这一点,或替代建议清理这个烂摊子而不吹走旧代码?

Von*_*onC 7

一般的想法是:

从A导入右分支后,可以使用嫁接点,然后git filter-branch将嫁接历史转换为"真实"历史记录,以消除嫁接点.