我想 git clone 一个 svn 仓库,除了 svn 根文件夹中的一个文件夹。
我该怎么做?
我可以执行 git svn clone svnrepo/dir/sb-dir/
如果我只需要 sb-dir
但我需要 中的所有文件夹(和文件) code>dir
除了 design
文件夹
最佳答案
您可以使用 --ignore-paths=<regex>
git svn init
的选项或 git svn fetch
,或添加配置选项 svn-remote.<name>.ignore-paths
至 .git/config
.这被记录为“这允许指定一个 Perl 正则表达式,这将导致跳过从 SVN checkout 的所有匹配路径。”搜索manual有关“忽略路径”的更多详细信息。
在 this answer 中尝试实验之后,我了解到正则表达式似乎适用于存储库根目录中每个目录或文件的完整路径。因此,如果你有一个标准的存储库布局,并且想从每个主干/分支/标签中排除相同的东西,你可以使用像 ^(trunk|((branches|tags)/[^/]+))/(<file-to-ignore>|<other-file-to-ignore>)(/|$)
这样的正则表达式。 .
关于svn - git svn clone 除了一个特定的文件夹,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2371399/