将两个git存储库合并为一个具有两个分支的存储库

时间:2012-11-17 16:45:13

标签: git merge

Google整天过后,我将不得不请专家帮助我。

我克隆了一些我转换为git的公共SVN回购。这个repo只有一个主分支,它从一些特定的版本开始,比如1.0。

我还有一个独立创建的git repo,它以相同的1.0版本开头。我创建这个是因为我想破解一些公共项目。我刚刚下载了源代码,创建了空的git repo,添加了1.0版并继续破解它。这个回购也只有主分支。

现在,我会撒谎创建第三个git repo,其中版本1.0将是起点,它将有两个分支:'svn'和'mystuff'。我想保留两个分支的历史。

       1.0
      /   \
     /     \
br. svn    br. mystuff
     |       |
   v1.1      v1.1'
   v1.2      v1.2'
   v1.3      v1.3'
    .          .
    .          .

如果我有这个,我可以很容易地使用svn2git从SVN repo获得新版本,并轻松地将它们与我当地的“mystuff”分支合并。我不需要推送到SVN仓库,只需从中获取新版本。

你能帮助我再次使用git fun吗?

1 个答案:

答案 0 :(得分:2)

这种hacky方式是使用git format-patch将repo的所有提交导出到目录git checkout另一个repo 1.0分支,创建一个新分支({ {1}}),然后git checkout -b new-branch您之前生成的补丁。

所以,让我们调用git am你公共SVN仓库的克隆,并public你通过下载源并攻击你所做的git仓库。

local