首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何将克隆存储库最小化以使列表分支和签出单个文件成为可能

如何将克隆存储库最小化以使列表分支和签出单个文件成为可能
EN

Stack Overflow用户
提问于 2019-05-21 11:14:19
回答 1查看 179关注 0票数 0

我在寻找尽可能少的克隆,所以在我完成“最小克隆”之后,不会下载任何源代码(结帐)

我要做的是:

代码语言:javascript
复制
git branch -r

列出所有回购分支

然后从列表中选择分支,只从所选分支签出1个文件。

我真的想避免下载和更新所有回购的源代码。在本例中,我希望获得"develop“的所有远程分支。

我试图做的“最小克隆”是:

代码语言:javascript
复制
git clone  --depth 1 --no-checkout https://user:pass@bitbucket.org/foo/project.git 

但当我列出树枝时:

代码语言:javascript
复制
 git branch -r

我明白:

代码语言:javascript
复制
 origin/HEAD -> origin/develop
  origin/develop

当我检查原产/开发我得到所有的来源

但它确实下载了我所有的回购资料。

我正在使用git版本2.10.2.windows.1。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-05-21 11:23:10

初始化回购,而不是由git clone创建它,

代码语言:javascript
复制
git init project
cd project
git remote add origin https://user:pass@bitbucket.org/foo/project.git

列出所有的裁判,

代码语言:javascript
复制
git ls-remote

如果只是树枝,

代码语言:javascript
复制
git ls-remote --heads

选择一个分支,比如develop,只获取它的最后一个提交,

代码语言:javascript
复制
git fetch origin develop --depth 1

配置sparse-checkout只签出一个文件,例如path/to/foo.txt

代码语言:javascript
复制
git config core.sparsecheckout true
echo "path/to/foo.txt" >> .git/info/sparse-checkout

查看唯一的文件,

代码语言:javascript
复制
git checkout develop
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/56237068

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档