在存储库中没有TRUNK的SVN到GIT迁移

时间:2015-05-08 20:04:50

标签: git svn github tortoisesvn tortoisegit

我有SVN存储库,结构如下:    - BRANCHES保存供应商存储库中的代码(软件提供商代码)    - DEV从BRANCHES开始,开发人员使用它    - RC(发布候选版)将开发代码放入RC进行测试    - 每次构建后使用新功能发布的TAGS代码

我被要求将这些类型的SVN存储库移动到GIT

如何构建GIT w.r.t SVN? 如何在没有TRUNK的情况下将代码从SVN移动到GIT? 如何在GIT中设置Master / Head / Branches / Tags与Branches / DEV / RC / Tags

相比较

1 个答案:

答案 0 :(得分:0)

如果你做这样的克隆:

git svn clone svn://server.domain.org/pathtorepo

您将获得整个SVN目录结构的未修改克隆,并将历史转换为git。

一旦进入git,您可以使用;

将目录转换为分支
git filter-branch --subdirectory-filter ...

您可以使用git filter-branch --tree-filter进行较小的文件更改。

您可以使用.git/info/graftsgit filter-branch将分支附加到与其他分支分开的分支。

但合并更难,因为SVN没有标准的合并标记。

git svn命令确实有解释svn目录结构的“标准布局”的内容,但我不希望这对你太有帮助。但是,您还需要使用其他选项。

但如果你真的想做得最好,你应该看看Reposurgeon工具。