git进阶——按需追踪远程分支
如何只关注远端仓库的个别分支?
如何不把远端仓库的所有内容克隆到本地?
如何尽可能地快速克隆远端分支?
如何尽可能减少项目空间占用?
那么来学习随心所欲地订阅远端分支吧!
克隆单一分支
git clone 命令可以使用 --single-branch 选项只克隆远端项目中的一个分支,再用 --branch 指定克隆的分支名称,比如这样:
1 | git clone --single-branch --branch 远端分支名称 远端仓库地址 [检出到本地的地址] |
追加远端分支
单分支克隆后,还可以追加订阅。
订阅单个远端分支
1 | git remote set-braches origin --add 远端分支名称 |
订阅全部远端分支
这个操作包括远端未来新建的分支
1 | # 先清空所有自定义的fetch条目 |
修改配置文件实现
打开.git/config文件,找到类似的位置:
1 | [remote "origin"] |
添加单个分支,在这一行之后添加这样的内容:fetch=+refs/heads/本地分支名称:refs/remotes/origin/远端分支名称
添加全部分支:
fetch=+refs/heads/*:refs/remotes/origin/*
拉取新的远端分支
1 | git fetch |
取消订阅远端分支
用命令指定保留的分支
1 | git remote set-branches origin 保留的分支们 |
修改文件实现
参考上一节
清理在本地的远端分支内容
如果曾经下载到本地的远端分支不在使用了,想把对它们的订阅删除,达到减少磁盘空间占用的目的,可以这样做:
1 | git branch -r -D 远端分支名称 // 删除在本地的远端分支 |
查看订阅和分支对应情况
查看对远程分支的订阅情况
git remote show origin
查看本地分支和远程分支的对应关系
git brach -vv