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

Git克隆指定参数仅得单分支,如何获取近4个月所有分支?

解决浅克隆后仅显示单个分支的问题

问题原因

使用git clone --no-single-branch --shallow-since="4 months"克隆时,--no-single-branch仅确保克隆过程不会限制为单一分支,但--shallow-since是基于提交时间筛选内容,且默认只会拉取远程仓库的默认分支(如main/master)的相关提交。其他远程分支即使近4个月有更新,若克隆时未主动拉取它们的引用,本地也不会显示。

解决步骤

1. 查看所有远程分支

先确认远程仓库存在的所有分支:

git branch -a

输出会包含所有远程分支(格式为origin/<分支名>)。

2. 手动拉取指定分支

针对需要的远程分支,执行以下命令拉取近4个月的提交并创建对应本地分支:

git fetch origin <远程分支名>:<本地分支名> --shallow-since="4 months"

例如拉取develop分支:

git fetch origin develop:develop --shallow-since="4 months"

3. 批量拉取所有符合条件的分支

如果需要批量处理所有远程分支,可以用脚本自动拉取:

for branch in $(git branch -r | grep -v HEAD); do
    git fetch origin ${branch#origin/}:${branch#origin/} --shallow-since="4 months"
done

该脚本会遍历所有远程分支,自动创建对应的本地分支,且仅包含近4个月的提交。

注意事项

如果某个远程分支在近4个月内没有任何提交记录,执行上述命令后本地不会创建对应的分支,因为没有符合--shallow-since条件的提交可拉取。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.26 13:24:51