如何使用Git SVN fetch获取单个分支?

时间:2012-04-03 12:03:24

标签: git svn branch git-svn git-extensions

我正在使用带有SVN存储库的Git SVN插件,每次我执行git获取它都会获取SVN存储库中的所有分支更改。经过几个小时,许多分支的许多提交需要很长时间

我是否可以告诉它仅针对特定分支获取更改?

3 个答案:

答案 0 :(得分:3)

您可以使用git svn fetch --parent来获取与当前HEAD相对应的远程分支。

遗憾的是,无法从不是父分支的单个远程Subversion分支中获取。不过,您可以在后台踢git svn fetch;它根本不会影响你的工作副本。我已将计算机设置为使用cron过夜自动进行提取。

答案 1 :(得分:0)

git-svn man page

检查这些:

git-svn init --ignore-paths=<regex>  
git-svn fetch --ignore-paths=<regex>

答案 2 :(得分:0)

我们遇到了同样的问题。我们的解决方案(令我们非常满意)不要在SVN上使用fetch,而是让git将所有SVN标签,分支和主干导入git - 就像结构一样。

我们的SVN存储库甚至没有正确创建(trunk / tags / branch目录),但没关系。

git svn --tags PATH_TO_YOUR_TAGS --branches PATH_TO_YOUR_BRANCHES --trunk PATH_TO_YOUR_TRUNK svn+ssh://path.to.your.svn/repository

这需要很长时间。在此之后,工作流程为git - 就像。您在git中提交并创建分支,然后......

提交SVN:

git svn dcommit

从SVN结帐:(在差异中)

git svn rebase