1

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

例如

  • Git存储库旧:
    • master(手动跟踪 CVS 分支 OLD_VERSION)
    • 功能-abc-backport
    • 功能-xyz
  • Git 存储库当前:
    • master(手动跟踪 CVS 存储库的 HEAD)
    • 特征-abc
    • 功能 123

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

4

1 回答 1

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' repo 的提交与 git 'current' repo 中的提交是否相同?
如果是,那么您可以old_xxx在一个分支中合并一个current分支,因为增量是有限的。


实际上,我想主要出于存档目的进行导入,至少在第一步中是这样。当分支停止维护时

那么一个简单的 fetch 就足够了:

old 的所有分支将立即被引用为old/abranch:无需创建带有“old_”前缀的本地分支。它们的完整历史记录
将在您当前的 repo 中可用(在 fetch 之后),并且每个分支oldHEAD将被.refs/remotes/old/abranch

于 2013-08-13T12:24:39.357 回答