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

5

我正在使用Git SVN插件与SVN版本库一起工作,每次执行git fetch命令时,它会获取整个SVN版本库所有分支的更改。这个过程很耗时,尤其是在多个分支上进行了许多提交后,几小时才能完成。

我能否告诉它仅获取特定分支的更改?

3个回答

3

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

遗憾的是,无法从单个远程Subversion分支中获取,除非它是父分支。但是,您可以在后台启动git svn fetch命令;这不会影响您的工作副本。我已经设置了我的电脑,在晚上使用cron自动执行获取操作。


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检出:(在diff中)

git svn rebase

0

git-svn手册页面

请检查这些内容:

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

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接