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

如何配置Git sparse-checkout排除指定顶层目录(Git≥2.37.3/Windows Server 2016)

问题:Git sparse-checkout 配置:检出全仓库但排除指定顶层目录

需求:在Git版本≥2.37.3的Windows Server 2016环境下,从git clone <url> --no-checkout创建的无工作目录克隆开始,配置sparse-checkout,实现检出整个仓库但排除名为Tests_NR的顶层目录。

此前失败的尝试

曾创建ignore.txt文件,内容如下:

/*
!/Tests_NR/

然后执行以下命令:

git sparse-checkout init
type ignore.txt | git sparse-checkout set --stdin
git sparse-checkout list
# 输出:
# !/Tests_NR
# *
git checkout master

结果未生效,工作目录仅包含顶层文件,无任何目录。

有效解决方案(更新)

在Windows PowerShell中执行以下命令可实现需求:

git sparse-checkout init
git sparse-checkout set '/*' '!/Tests_NR/'
git sparse-checkout list
# 输出:
# /*
# !/Tests_NR/

执行上述命令后,再运行git checkout master,即可获取除Tests_NR外的所有仓库内容。

注意事项

  • 在常规Windows CMD中执行相同命令会失败,执行后git sparse-checkout list的输出会包含引号,导致配置不生效:
git sparse-checkout init
git sparse-checkout set '/*' '!/Tests_NR/'
git sparse-checkout list
# 输出:
# '/*'
# '!/Tests_NR/'

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.18 14:15:41