我正在使用带有 SVN 存储库的 Git SVN 插件,每次我执行 git fetch 它都会获取整个 SVN 存储库中的所有分支更改。几个小时后需要很长时间才能在许多分支上进行许多提交
我可以告诉它只为特定分支获取更改吗?
我正在使用带有 SVN 存储库的 Git SVN 插件,每次我执行 git fetch 它都会获取整个 SVN 存储库中的所有分支更改。几个小时后需要很长时间才能在许多分支上进行许多提交
我可以告诉它只为特定分支获取更改吗?
您可以使用 获取与当前 HEAD 对应的远程分支git svn fetch --parent
。
遗憾的是,无法从不是父分支的单个远程 Subversion 分支获取。不过,您可以git svn fetch
在后台踢 a;它根本不会影响您的工作副本。我将计算机设置为使用cron
.
我们也遇到过同样的问题。我们的解决方案是(令我们非常满意)不在 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
类似的。你提交并制作像 in 这样的分支git
,然后......
提交给 SVN:
git svn dcommit
从 SVN 结帐:(差异)
git svn rebase