3

我已经尝试过使用 git-svn 将 Git 存储库镜像到 SVN 存储库,但除了将主更改推送到 SVN 存储库主干之外,我似乎无能为力。

到目前为止,我所做的基本上是使用标准布局(项目名称/主干、项目名称/标签、项目名称/分支)创建一个 SVN 存储库,然后执行 'git svn init --stdlayout http:/ /服务器/svn/项目名称'。这会为当前的 Git 存储库设置 git-svn,然后我在 Git 存储库中进行任何我想要的更改,然后通过“git svn dcommit”将这些更改推送到 SVN,但这似乎仅适用于推送当前分支(通常是master)到SVN项目的主干文件夹。

我想做的是创建 Git 标签,然后将它们推送到 SVN 项目的标签文件夹。我想对所有分支都这样做,但这不是必需的。我需要 SVN 镜像让主干镜像 Git 主分支,标签镜像 Git 标签。

注意:SVN 镜像是只读的

4

2 回答 2

2

你可以试试SubGit而不是 git-svn。

SubGit 为 Subversion 和 Git 存储库提供读写镜像功能。除其他外,它将 Git 分支和标签转换为 Subversion 分支和标签目录。

有关更多详细信息,请参阅SubGit 文档git-svn 比较

SubGit 是一个带有一些免费选项的商业产品。一次性导入也是免费的。

于 2012-07-19T12:19:40.747 回答
0

单独使用git svn,您无法将任何 Git 操作镜像回 SVN。只有在镜像分支中完成的新提交才能安全地重新提交回 SVN。

对于更完整的往返,您可以尝试使用 git2svn来重建 SVN 存储库。
同时,您可以研究这个git svn 工作流,即使没有明确提及标签。

于 2011-06-04T10:00:59.510 回答