如何将Git所有拉取/获取操作的默认克隆深度限制为20k?
Git默认浅克隆深度设置与按日期限制提交拉取
一、设置默认的浅克隆深度
你可以通过Git配置,把默认拉取深度设为20000次提交,分全局和单仓库两种方式:
- 全局生效(所有本地仓库都适用):
之后不管是git config --global fetch.depth 20000git pull还是git clone,默认都会只拉取最近20000次提交。 - 仅当前仓库生效:
针对已经克隆好的仓库,执行这条命令后,后续的拉取操作都会遵循这个深度限制。git config fetch.depth 20000
二、按日期限制拉取提交
如果要只拉取某个日期之后的提交,Git的--shallow-since参数可以实现,同样能设为默认:
- 全局配置:
把日期换成你需要的就行,格式支持git config --global fetch.shallow-since "2023-01-01"YYYY-MM-DD或者更精确的时间格式。 - 单个仓库配置:
之后执行git config fetch.shallow-since "2023-01-01"git pull时,只会获取该日期之后的提交记录。
要是临时需要覆盖默认配置,直接在命令里加参数就行,比如git pull --depth 10000或者git pull --shallow-since "2022-06-01",命令行参数会优先于配置项生效。
另外提一句:浅克隆会丢失部分历史,之后如果需要完整的提交记录,执行git fetch --unshallow就能把所有历史拉取回来。
内容的提问来源于stack exchange,提问作者iamthedrake
相关产品推荐
相关产品推荐

