首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >将多个git存储库合并为一个,保留分支历史记录

将多个git存储库合并为一个,保留分支历史记录
EN

Stack Overflow用户
提问于 2014-10-22 16:13:56
回答 1查看 18K关注 0票数 25

我有四个独立的项目。他们有自己的git存储库。所有项目的分支机构名称相同。

 /project/
 /project/projA/
 /project/projA/.git/
 /project/projB/
 /project/projB/.git/
 /project/projC/
 /project/projC/.git/
 /project/projD/
 /project/projD/.git/

所有git存储库都有相同的分支名称,当然还有它们自己的主分支。

问题

我想将所有项目合并为一个项目,如下所示:

  /Project/.git/
  /project/projA/
  /project/projB/
  /project/projC/
  /project/projD/

我想保留所有分支的历史记录。

ps ->我对所有存储库都有相同的分支名称。例如:用于所有四个项目的分支名称: V6-004

详细信息

我尝试了子模块子树,但这两者都不能解决问题。

我也试过这个。

  $ mkdir new_parent_project
  $ cd new_parent_project
  $ git init
  # Now we need to create the initial commit. This is essential.
  $ touch README.md
  $ git add README.md
  $ git commit -am "initial commit"

之后

  # merge project ProjA into subdirectory ProjA
  $ git remote add -f ProjA http://GitUrl
  $ git merge -s ours --no-commit ProjA/V6-006
  $ git read-tree --prefix=ProjA/ -u ProjA/V6-006
  $ git commit -m "merging ProjA into subdir: ProjA"

之后

  # merge project ProjB into subdirectory ProjB 
  $ git remote add -f ProjB http://GitUrl
  $ git merge -s ours --no-commit ProjB/V6-006
  $ git read-tree --prefix=ProjB/ -u ProjB/V6-006
  $ git commit -m "merging ProjB into subdir: ProjB"

项目合并了,但我只有V6-006的历史。但我没有其他分支机构的历史记录。

EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/26502970

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档