我有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
相比较答案 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/grafts
和git filter-branch
将分支附加到与其他分支分开的分支。
但合并更难,因为SVN没有标准的合并标记。
git svn
命令确实有解释svn目录结构的“标准布局”的内容,但我不希望这对你太有帮助。但是,您还需要使用其他选项。
但如果你真的想做得最好,你应该看看Reposurgeon工具。