我有一个项目需要将Git存储库移植到SVN.我尝试了几种在线发布的方式,但它们都不适合我.如果有人能提供帮助,我们将非常感激.
我按照指南
git svn rebase和git svn dcommit这种方法的问题是我的Git存储库有一个复杂的历史.有许多分支出局和合并.当我选择樱桃时,它只会回收最终存储库的一部分.
问题:有没有办法避免樱桃采摘和git svn rebase?也许用其他东西替换它?
我关注这篇网络帖子:将Git repo迁移到svn
这篇文章基本上
git svn clonegit svn rebase)git dcommit 这种方法的问题类似于我在第一篇中所遇到的问题:当我这样做时git svn rebase,存在很多冲突.另外,当我跳过所有冲突时,git dcommit失败了.它告诉我:Unable to determine upstream svn information from HEAD history.
我不知道从这一点开始还有什么可以尝试的.如果您发现我做错了或有其他办法,请提出任何建议.赞赏它!!
作为标题,有没有办法用git-svn从一个完整的克隆重建一个svn repo(包含从r1开始的每一个提交)?
编辑:
我可能应该补充一点,我正在寻找一种实用的方法来做到这一点(只要原始的svn存储库仍然可以使用,近乎完美的复制是可以的)
我正在使用SubGit同步Git和SVN repos.克隆远程Git仓库时,我想保留该仓库的所有历史记录.我目前遵循的步骤允许我仅复制主分支的历史记录:
svnadmin create svn_repos
subgit-1.0.0-EAP_1381/bin/subgit configure svn_repos
subgit-1.0.0-EAP_1381/bin/subgit install svn_repos
git clone svn_repos gitRepo
cd gitRepo/
git remote add -f newRemote git://127.0.0.1/gitRepo
...
From git://127.0.0.1/gitRepo
* [new branch] FirstProductionTag -> newRemote/FirstProductionTag
* [new branch] SecondProductionTag -> newRemote/SecondProductionTag
* [new branch] ThirdProductionTag -> newRemote/ThirdProductionTag
* [new branch] bugfix -> newRemote/bugfix
* [new branch] bugfix2 -> newRemote/bugfix2
* [new branch] master -> newRemote/master
git merge -s ours --no-commit newRemote/master
git read-tree --prefix=foo/bar/ -u newRemote/master
git commit -m "Merged new …Run Code Online (Sandbox Code Playgroud)