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



我使用的是带有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

最新更新