git只拉取github部分代码的方法

需求:github某个项目所有代码太大,有600+M,甚至更大;只需要拉取部分代码,一是可以降低网络消耗,二是可以降低磁盘占用

分析了下空间占用情况:发现每个项目下的.git/objects/pack都很大,这应该是git的机制,使用git就避免不了下载这个东西,所以降低网络消耗的需求暂时满足不了,后续再研究吧

~/gitlab/druid/.git/objects/pack

方法一:参考 https://blog.csdn.net/u022812849/article/details/53025248

但是只解决了本地磁盘的占用的问题;没有解决网络消耗的问题,因为从下图可以看到,中间还是把整个内容下载了一遍,没有节省网络消耗。感觉这样,还不如全部下载下来,然后删除不需要的内容来的简单

实例

下面以克隆开源项目druid下的/druid/doc目录为例。

$ mkdir druid
$ cd druid
$ git init // 初始化空仓库
$ git remote add -f origin https://github.com/alibaba/druid.git // 关联远程地址
$ git config core.sparsecheckout true // 开启Sparse Checkout模式
$ echo "doc" >> .git/info/sparse-checkout // 设置需Check Out的文件
$ git pull origin master // Check Out
... ...
Receiving objects: 100% (111624/111624), 51.91 MiB | 227.00 KiB/s, done.  文件大小111624,全部下载下来了

另外一旦设置拉取的文件后,后续就不能再添加或者减少拉取或者提交的代码范围,修改sparse-checkout无效。除非按照步骤再来一遍echo "doc" >> .git/info/sparse-checkout // 设置需Check Out的文件

其实这可以用于合作开发的项目中,每个项目成员只拉取自己的代码部分,然后提交的时候也只提交自己的代码部分。减少误操作的可能性

 

原文地址:https://www.cnblogs.com/shengulong/p/9425030.html

时间: 2024-09-27 04:45:33

git只拉取github部分代码的方法的相关文章

Jenkins拉取github库代码执行构建

前言 上篇文章写了关于定时构建,以及构建后发送邮件的内容,但是构建时运行的代码是我们手动添加到Jenkins工作空间的.这篇文章我们说一说自动从GitHub远程库拉取代码,执行构建,废话不多说,开始!(开始之前,我们需要安装GitHub插件:GitHub plugin 如何安装自行百度吧) 新建项目 仍然和上一篇文章一样,我们新建一个自由风格的项目(我这里就不新建了 我直接在原有的项目基础上配置) 获取GitHub地址 我们项目所在路径的地址 项目配置 General 输入项目描述, 勾选Git

【记录】git 拉取远程分支代码,同步到另一个git上

最近有需求从某git 上拉取所有分支代码同步到另一git上,现记录操作步骤,以便日后使用: 1:先克隆其中一个分支代码到本地环境 git clone -b test http://账号:密码@XXX.git 2:查看本地分支 git brach 3:查看远程分支 git branch -r 4:查看远程所有分支  远程分支会用红色表示出来(如果你开了颜色支持的话 git branch -a 5:-a命令并没有每一次都从远程更新仓库信息,我们可以手动更新一下 git fetch origin gi

二、windows下使用git拉取github上的项目(通过设置ssh key方式)

一.windows下使用git拉取github上的项目 1.创建仓库 说明: 2.打开git bash 3.使用ssh-keygen命令生成自己的公钥和私钥 首先输入ssh-keygen,这里会提示你输入私钥保存的位置,直接回车使用默认位置即可, 后面会两次提示输入密码 直接回车 这里标红的两个文件 id_rsa和id_rsa.pub分别是私钥和公钥 4.查看生成的秘钥 cat ~/.ssh/id_rsa.pub 此时打开C:UsersAdministrator.ssh 文件夹(.ssh文件夹默

拉取github指定分支上的代码

方法[推荐] #[0]git拉取远程代码 git clone https://xxx.git #[1]git拉取远程指定分支下代码(-b 分支名称) git clone -b dev https://xxx.git 方法0 #[1]拉取指定分支到本地分支,使用方法: git checkout -b <本地分支名> origin/<想要拉取的远程分支名> #例如: git clone #从远程仓库中拉取指定的分支 git checkout -b dev origin/dev 方法1

2017.6.30 使用git新建项目、仓库并拉取、提交代码

1.在码云上新建一个项目rms 2.在本地指定位置新建仓库,生成.git文件夹 3.同步远程仓库,并拉取最新代码 远程仓库默认名为orgin.可以修改,这里就是用默认名了. 注意:这里使用ssh方式的路径,而不是https,这样就不用一直输入密码了.因为之前配置了ssh公钥. 刚刚做的就是把本地仓库 /lyh/file/git_repostory/rms 对应成远程仓库. 注意:一个仓库有一个.git文件. 所以如果有另一个项目aas,要新建的层次是这样的: 然后rms和aas里再是: 这里要注

git clone新项目后如何拉取其他分支代码到本地

1.git clone [email protected]:xxx/xxx.git 2.git fetch origin dev    命令来把远程dev分支拉到本地 3.checkout -b dev origin/dev   在本地创建分支dev并切换到该分支 4.git pull origin dev 就可以把远程dev分支上的内容都拉取到本地了 注:当本地代码是dev分支时,需要先 git pull origin dev 更新远程分支代码到本地,然后再git pull (即拉取远程mas

Git拉取和提交代码的基本步骤

1 现在本地初始化一个厂库:git init 2.配置好远程url地址:git remote add origin git@XX.XXX.XXX.XX:test/pytest.git 3 直接拉代码:git pull origin dev24 查看代码修改状态:git status5 创建一个你要上传的分支(会同时切换到该分支):git checkout -b dev26 先提交到本地分支:git add -A7 提交说明:git commit -m "修改代码说明"8 再推送到远程分

git分支拉取

假设你已经配置好了各种SSH Key之类并熟悉基本的git创建分支.提交分支命令.比如共有2个分支,自己在一台未配置origin电脑上想要拉取某个分支(dev)到本地.步骤如下:1.新建git项目 与远程库连接 2,我们需要:git fetch origin dev 命令来把远程分支拉到本地 3,然后使用:git checkout -b dev origin/dev在本地创建分支dev并切换到该分支 4,最后使用:git pull origin dev就可以把某个分支上的内容都拉取到本地了 第二

Git submodule 拉取子模块

$ git clone https://code.vipkid.com.cn/Classroom-Core/PCClient/vipkid-pc-client.git Cloning into 'vipkid-pc-client'... Username for 'https://code.vipkid.com.cn': zhangguangming1 remote: HTTP Basic: Access denied remote: You must use a personal access