Open bxb100 opened 3 months ago
有时候需要 clone 一些仓库到本地来查看或者修改,但是对于 https://github.com/eugenp/tutorials 和 https://github.com/raycast/extensions 的仓库来说,全量下载就不是一个好选择(尤其是对国内复杂的网络环境来说),然后我发现了 git-sparse-checkout^2(虽说 cargo 就有 spare checkout 但是没意识到 🤣 )
git-sparse-checkout
下面都来自 stackoverflow^1
git clone --filter=blob:none --sparse %your-git-repo-url%^3
git clone --filter=blob:none --sparse %your-git-repo-url%
--filter=blob:none
--sparse
--filter
.git/objects/packs
git sparse-checkout add %subdirectory-to-be-cloned%
有时候需要 clone 一些仓库到本地来查看或者修改,但是对于 https://github.com/eugenp/tutorials 和 https://github.com/raycast/extensions 的仓库来说,全量下载就不是一个好选择(尤其是对国内复杂的网络环境来说),然后我发现了
git-sparse-checkout
^2(虽说 cargo 就有 spare checkout 但是没意识到 🤣 )下面都来自 stackoverflow^1
git clone --filter=blob:none --sparse %your-git-repo-url%
^3--filter=blob:none
will filter out all blobs (file contents) until needed by Git--sparse
告诉 git 只会疏松克隆, 如果没有--filter
虽然克隆的文件都一样,但是这个.git/objects/packs
文件夹明显要大git sparse-checkout add %subdirectory-to-be-cloned%