You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何仅克隆Git仓库指定子文件夹?brew选subversion还是git-svn?求2023替代方案

仅克隆Git仓库指定文件夹的解决方案

一、brew安装:选subversion还是git-svn?

如果是用SVN拉取GitHub指定目录的方案,直接安装subversion即可,原因如下:

  • 你提到的方案是利用GitHub提供的SVN镜像服务,直接通过svn export命令拉取指定目录,全程不需要Git参与,git-svn完全用不上。
  • git-svn是Git的扩展组件,用于Git与SVN仓库的双向同步,对于「仅拉取指定文件夹」这个需求来说,属于冗余工具,反而会增加不必要的复杂度。
  • 安装命令:brew install subversion

二、2023年除SVN外的更优解决方案

1. GitHub CLI(gh)官方工具(推荐)

这是GitHub官方推出的命令行工具,支持直接下载仓库的指定目录,操作简单且可靠:

  • 安装:brew install gh
  • 登录验证:gh auth login(按照提示完成GitHub账号验证)
  • 下载指定目录:gh repo download raycast/extensions --dir extensions/github
  • 优势:官方维护,无需处理复杂的Git配置,下载完成后直接得到目标文件夹的文件,没有冗余的Git仓库文件。

2. Git稀疏检出(Sparse Checkout)

如果你需要保留Git仓库的特性(比如后续可以更新目标目录),可以用Git的稀疏检出功能:

  • 步骤:
    1. 创建并进入空目录:mkdir raycast-github && cd raycast-github
    2. 初始化Git仓库:git init
    3. 添加远程仓库:git remote add origin https://github.com/raycast/extensions.git
    4. 启用稀疏检出:git config core.sparseCheckout true
    5. 指定要拉取的目录:echo "extensions/github/" >> .git/info/sparse-checkout
    6. 拉取代码:git pull origin main
  • 优势:保留Git版本控制能力,后续可以通过git pull更新目标目录;缺点是会拉取仓库的完整提交历史(虽然本地只保留指定目录的文件)。

3. 第三方工具(可选)

比如gitzip这类工具,不过这类工具非官方维护,稳定性和安全性不如前两种方案,仅作备选。

内容的提问来源于stack exchange,提问作者Paul

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.07 18:52:51