git - `git clone` 是否复制远程存储库上的每个分支?
问题描述
是否git clone
复制远程存储库上的每个分支?
是否可以请求它克隆一些分支而不是其他一些分支,就像git fetch
通过它的 refspec 参数一样?
解决方案
请记住,git clone
与 Git 的所有其他部分一样,它并不真正关心分支名称,而是关心提交。只是 Git(和git clone
)需要名称才能找到提交。
该git clone
命令本身主要包括:
- 创建一个新目录(或使用现有但空的目录)
git init
在该目录中运行- 根据需要和适当的方式在此处配置项目,包括
git remote add
保存 URL git fetch
使用刚刚添加的遥控器运行- 跑步
git checkout
因此,问题真正归结为:您可以控制添加fetch =
的遥控器的设置git clone
吗?
答案是肯定的,但仅限于有限的范围。 限制是:
--mirror
将 refspec 设置为+refs/*:refs/*
.--bare
将 refspec 设置为+refs/heads/*:refs/heads/*
和+refs/tags/*:refs/tags/*
。--single-branch
或任何暗示它将 refspec 设置为适合该操作的命令。
如果没有其中任何一个,您将获得一个标准的 refspec。因此,--single-branch
让您选择一个分支进行克隆(通过更改为单分支 refspec),并--mirror
让您离开refs/heads/
命名空间,但至少到目前为止,没有任何参数可以做一些中间子集。如果您希望获得一些特殊的结果,您可以改为执行您自己的mkdir
/ git init
/ git remote add
/ git config
/ git fetch
/命令序列。git checkout
推荐阅读
- excel - 有没有办法在正在创建的文件的 excel 中制作日志?
- javascript - 访问数组中的元素一个字典并构建另一个数组?
- python - 由于额外的列值,尝试使用 pandas Python 读取 csv 时出错
- c# - 当角度 http.post 具有正确值时,为什么 obj 值在 asp Web API2 控制器中为空
- javascript - javascript es6类:在同一类的另一个方法中调用一个类的方法
- windows - 如何在不使用打印选项的情况下使用电子邮件中的快捷方式打印全屏
- javascript - 身份验证中间件不调用存根 - NodeJS,sinon
- c# - 我如何从 C# 将文件发布到 Web API?
- kubernetes - kubectl:无法连接到服务器:拨打 tcp 192.168.214.136:6443:连接:没有到主机的路由
- ios - 如何在不使用自动布局的情况下设置 UISegmentedControl 子类的高度?