我已经设法将来自多个GIT存储库的分支合并到一个新的存储库(使用“git filter-branch”和“git fetch/merge”的组合)。但我似乎无法“融合”来自这些分支的标签......这甚至有可能吗?就我所知道的(相当有限的)GIT而言,标签指的是单个提交,它本身是由SHA1哈希值标识的,SHA1哈希值基本上是从所有先前的提交中计算出来的。由于来自不同储存库的分支没有共同的祖先提交,我很难想象如何在一个新的和完全的情况下以一种仍然“有意义”(以GIT方式)重写标签的方式无关的存储库。在保留所有标记/分支的同时合并多个GIT存储库
任何想法?
编辑:为了澄清我打算做的:
假设我有两个仓库,分别名为“A”和“B”,我想结合成所谓的“C”一个新的存储库。
的目录布局是一样的东西
A | |-someFileA |-anotherFileA |-...
B | |-someFileB |-anotherFileB |-...
,合并的仓库应该像
C | |-A | |-someFileA | |-anotherFileA | |-... | |-B | |-someFileB | |-anotherFileB | |-...
存储库在文件结构和历史方面如何相关?我的意思是他们分享什么? – CharlesB
这两个存储库共享任何内容(一个存储库持有SQL来设置数据库(模式,存储过程等),另一个存储库存放将在后面访问该数据库的Java应用程序。由于Java代码依赖于特定版本的数据库模式,这是合理的结合这两个存储库,以便可以在两个模块上创建一个标签 – JavaGuy
我认为,为了使任何答案更加完整,您需要(完全)定义您希望* history *看起来像,你可以做几个子树合并并完成,并且完全不相交A和B的历史,但我怀疑你正在寻找某种交错? – Cascabel