有时候需要 clone 一些仓库到本地来查看或者修改,但是对于 https://github.com/eugenp/tutorials 和 https://github.com/raycast/extensions 的仓库来说,全量下载就不是一个好选择(尤其是对国内复杂的网络环境来说),然后我发现了 git-sparse-checkout1(虽说 cargo 就有 spare checkout 但是没意识到 🤣 )
下面都来自 stackoverflow2
-
git clone --filter=blob:none --sparse %your-git-repo-url%3--filter=blob:nonewill filter out all blobs (file contents) until needed by Git--sparse告诉 git 只会疏松克隆, 如果没有--filter虽然克隆的文件都一样,但是这个.git/objects/packs文件夹明显要大
-
git sparse-checkout add %subdirectory-to-be-cloned%- 看到这个我才知道 GitHub 为啥每个文件都给路径的复制按钮,原来还有如此妙用