将一个Git存储库的所有分支导入另一个

时间:2013-08-13 12:05:03

标签: git branch

我有两个git存储库。两者都有一个主分支,手动保持与同一个CVS存储库的不同分支同步,以及相当数量的功能分支。

例如

  • Git仓库OLD:
    • master(手动跟踪CVS分支OLD_VERSION)
    • 特征ABC-反向移植
    • 特征-XYZ
  • Git存储库CURRENT:
    • master(手动跟踪CVS存储库的HEAD)
    • 特征-ABC
    • 特征-123

我现在想要将所有分支从OLD导入到CURRENT中,并添加一些前缀(例如OLD-master,OLD-feature-abc-backport,OLD-feature-xyz)。这可能吗?

1 个答案:

答案 0 :(得分:2)

可以导入分支。
导入后管理它可能会比较棘手。

导入:

cd current
git remote add old /url/to/git/old
git fetch old
git branch --track old_master old/master
git branch --track old_feature-abc-backport old/feature-abc-backport
git branch --track old_feature-xyz old/feature-xyz

管理:

问题是:是git' old'的承诺。与git'当前'中的那些一样。回购?
如果是,那么您可以在old_xxx分支中合并current分支,因为差异将是有限的。


  

实际上,我想主要为了档案目的而进行导入,至少在第一步中。分支机构停止维护时

然后一个简单的提取就足够了:

旧的所有分支都将立即引用为old/abranch:无需使用旧版本_'创建本地分支。前缀。
他们的完整历史记录将在您当前的回购中提供(在获取后),每个old分支HEAD将由 remote tracking branches (由fetch in refs/remotes/old/abranch