免责声明:如果我一开始就知道,事情会更简单git-svn
。
我在 SVN 中有一个庞大的代码库,并且粗略地将它放在 git 中。没有快速有效的分支,工作生活非常痛苦,所以这一切都是匆忙完成的。我的过程是:
svn export
git init .
git add .
git commit -a -m "initial commit"
现在我完成了我的小分支项目。我能够在一个干净的分支中“灭火”并在其他分支上进行开发。太好了。我的分支现在都合并为一个,我准备好将这段代码重新放入 SVN。
我现在已经做了一些工作git-svn
,已经设置并获取了 svn repo。但这是我能做到的。
假设我的 git 分支是“master”,而我的 git-svn repo 是“svnrepo”:
git checkout master
git rebase svnrepo
失败并引发大量合并冲突和“索引中已存在”错误。
git checkout svnrepo
git rebase master
以完全相同的方式失败。
如何保存 git 历史并将此代码返回 SVN?