使用git svn签出远程分支

我已经使用git svn检出了一个svn仓库。 现在我需要检查其中一个分支并跟踪它。 哪个是最好的办法呢?

标准Subversion布局

创build一个包含Subversion主干,标签和分支的git克隆

  git svn clone http://svn.example.com/project -T trunk -b branches -t tags 

如果你的Subversion版本库使用典型的结构,– --stdlayout选项是一个很好的捷径:

  git svn clone http://svn.example.com/project --stdlayout 

让你的git存储库忽略所有的颠覆回购:

  git svn show-ignore >> .git / info / exclude 

你现在应该可以在git端看到所有的Subversion分支:

  git分支-r 

说在Subversion中分支的名字是waldo 。 在git方面,你会跑

  git checkout -b waldo-svn远程/ waldo 

-svn后缀是为了避免表单的警告

 警告:refname'waldo'是不明确的。 

要更新git分支waldo-svn ,请运行

  git checkout waldo-svn
 git svn rebase 

从仅限干线的结帐开始

要将一个Subversion分支添加到一个只有trunk的克隆,修改你的git仓库的.git/config来包含

  [svn-remote“svn-mybranch”]
         url = http://svn.example.com/project/branches/mybranch
         fetch =:refs / remotes / mybranch 

你需要养成跑步的习惯

  git svn fetch --fetch-all 

更新所有的东西git svn认为是单独的遥控器。 在这一点上,你可以像上面那样创build和跟踪分支。 例如,要创build一个对应于mybranch的git分支,请运行

  git checkout -b mybranch-svn远程/ mybranch 

对于你打算把git svn dcommit ,保持他们的历史线性!


更多信息

您也可能有兴趣阅读相关问题的答案 。