我正在尝试使用 svn2git 将存储库从 SVN 迁移到 GIT .这是一个开源项目,公共(public) SVN 存储库 Url 是:http://svn.verinice.org/svnroot/ .随时测试迁移...
SVN 库结构为:
- 分支机构
- 标签
- 中继
我使用以下命令克隆了这个 Repo:
svn2git http://svn.verinice.org/svnroot
--trunk TRUNK
--branches BRANCHES
--tags TAGS
但是这个命令只迁移了一个分支,根本没有任何标签。我使用这些命令来检查结果:
[user@forge git-repo]# git branch -a
* master
springy
remotes/springy
[user@forge git-repo]# git tag -l
[user@forge git-repo]#
如何迁移所有分支和标签? 感谢您的帮助!
更新:
在使用参数 --authors authors-file.txt 并将姓名和电子邮件地址添加到 git 配置后,svn2git 工作正常:
git config --global user.name "your name"
git config --global user.email "your@email.com"
您必须在authors-file.txt 中为每个 SVN 用户添加一行:
svn-user-name = Full Name <email@address.com>
git branch -a 和 git tag -l 现在返回所有分支和标签。
最佳答案
我没有使用 svn2git 的经验,但您可以尝试使用 git svn clone
来切换到 git。请注意,这将花费很长时间。有关详细信息,请参阅 git help svn
。
请注意,这不会在 git 中创建正确的标签,这很可能是由于 svn2git 常见问题解答中讨论的 git 和 svn 标签的差异。相反,该工具将创建标记分支。如果你想把它们变成合适的标签(因为我假设你根本不会回到 SVN,这应该不会造成任何伤害),有一个讨论 here关于如何编写脚本来做到这一点。
关于git - 使用 svn2git 将 SVN 迁移到 GIT 失败,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9890247/