Git 如何从次级回购发展转变为保留所有历史的新回购?

Git 如何从次级回购发展转变为保留所有历史的新回购?,git,github,bitbucket,subtree,Git,Github,Bitbucket,Subtree,下面是一个现实场景,主要参与者稍微简化: 存在回购:设备 存在回购:ourdevice 设备是由第三方开发的东西 ourdevice是我的repo,我创建它是为了进一步开发设备。我希望能够做我自己的更改,但也能够偶尔合并由第三方引入的更改。所以我当时选择了子树。被大量用作参考 现在,我对自己开发的ourdevice非常满意,我想将ourdevice嵌入为嵌入设备而开发的系统中。不幸的是,还有另外一个层次:device是ourdevice的子树,因此ourdevice中的文件夹结构是:ourd

下面是一个现实场景,主要参与者稍微简化:

  • 存在回购:
    设备

  • 存在回购:
    ourdevice

设备
是由第三方开发的东西

ourdevice
是我的repo,我创建它是为了进一步开发
设备
。我希望能够做我自己的更改,但也能够偶尔合并由第三方引入的更改。所以我当时选择了子树。被大量用作参考

现在,我对自己开发的
ourdevice
非常满意,我想将
ourdevice
嵌入为嵌入
设备而开发的系统中。不幸的是,还有另外一个层次:
device
ourdevice
的子树,因此
ourdevice
中的文件夹结构是:
ourdevice/device/-所有其他-

我想将
我们的设备
转化为一种新的回购协议,无论是BitBucket还是GitHub,通过实现以下两个目标:

  • 删除该附加层次结构,以及
  • ourdevice
    中处理
    device
    时保留所有开发历史记录(提交、分支、所有内容)
  • 有没有办法做到这一点?多谢各位