从现有的Git分支创建SVN分支

时间:2011-03-11 07:41:57

标签: git svn git-svn git-branch

到目前为止,我已经通过git svn clone克隆了一个现有的SVN项目没有问题,但同时我只在Git中创建了一个分支(不在SVN中),现在我想将这个分支同步回来到SVN分支(不是主干)。

我刚刚创建了分支机构。是否可以将存储在该Git分支上的信息恢复为SVN?

1 个答案:

答案 0 :(得分:5)

您可以使用git svn branch在Subversion中创建新分支。您可能希望查看此答案中的示例:

特别是,链接教程中的一个好建议是使用--dry-run svn dcommit选项检查当你运行命令为real时,它将推送到正确的分支。

Pro Git书中有a clearer description git svn dcommit如何决定更新哪个svn分支。听起来好像你应该这样:

  • 使用git svn branch new-experiment
  • 创建新的svn分支
  • 使用remotes/new-experiment
  • 创建本地分支以跟踪git checkout --track -b new-experiment remotes/new-experiment
  • 将旧git主题分支(我们假设它名为experiment)的更改重新定位到new-experiment

     git checkout experiment
     git branch original-experiment
     git rebase new-experiment
     git checkout new-experiment
     git merge experiment
    
  • 尝试git svn dcommit --dry-run检查是否会更新正确的subversion分支
  • 如果是,请执行git svn dcommit