如何在已克隆Git仓库后将本地仓库设置为单分支
无需重新克隆,将本地Git仓库改为单分支的方法
第一步:清理远程追踪分支并配置仅拉取目标分支
- 先查看所有远程追踪分支,确认要保留的分支(比如
main或master):git branch -r - 删除所有不需要的远程追踪分支,比如要保留
main,可批量执行:git branch -r | grep -v 'main' | sed 's/origin\///' | xargs -I {} git branch -d -r origin/{} - 修改Git配置,让本地仅拉取目标分支:
也可以直接编辑git config remote.origin.fetch "+refs/heads/main:refs/remotes/origin/main".git/config文件,找到[remote "origin"]段,把原来的fetch = +refs/heads/*:refs/remotes/origin/*替换成上面的内容。
第二步:清理本地多余分支
- 删除本地所有非目标分支:
批量删除的话可以用:git branch -D 本地分支名git branch | grep -v 'main' | xargs git branch -D
第三步:进一步压缩.git文件夹
- 执行深度垃圾回收,清理冗余对象:
git gc --prune=now --aggressive - 如果仍有大文件占用空间,用
git filter-repo移除历史中的超大文件(需先安装filter-repo):
(根据实际情况调整文件大小阈值,比如50M、200M等)git filter-repo --strip-blobs-bigger-than 100M
验证结果
- 查看本地和远程追踪分支情况:
git branch -a - 查看.git文件夹大小:
du -sh .git
内容的提问来源于stack exchange,提问作者nrofis
相关产品推荐
相关产品推荐

