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

khm*_*ise 4 svn git git-svn git-branch

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

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

Mar*_*air 5

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

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

Pro Git书籍更清楚地描述了如何git svn dcommit决定更新哪个svn分支.听起来好像你应该:

  • 使用创建一个新的svn分支 git svn branch new-experiment
  • 创建一个本地分支跟踪remotes/new-experimentgit 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
    
    Run Code Online (Sandbox Code Playgroud)
  • 尝试git svn dcommit --dry-run检查是否会更新正确的subversion分支
  • 如果是的话,那就做 git svn dcommit