我使用的是带有SVN存储库的Git SVN插件,每次我进行Git提取时,它都会提取SVN存储中所有的分支更改。在的多个分支上进行多次提交需要很长时间
我可以告诉它只获取特定分支的更改吗?
您可以使用git svn fetch --parent
获取当前HEAD对应的远程分支。
遗憾的是,不可能从不是父分支的单个远程Subversion分支中获取。不过,您可以在后台启动git svn fetch
;它根本不会影响你的工作副本。我已将我的计算机设置为使用cron
在夜间自动提取。
git-svn手册页
检查这些:
git-svn init --ignore-paths=<regex>
git-svn fetch --ignore-paths=<regex>
我们也遇到过同样的问题。我们的解决方案(让我们非常满意)不是在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