使用git下载github/gitee仓库部分或单个文件的方法

前言

有些时候在github或者gitee仓库中我们只需要下载整个项目中的我门需要的那一部分文件夹或文件就行了,不需要下载所有的项目。这样可以节省很多流量和时间

步骤

1.建立一个新的 git 本地仓库

这里我在D:\test中初始化
命令:

git init

在这里插入图片描述

2.在本地仓库里面启用sparse-checkout

命令:

git config core.sparseCheckout true

在这里插入图片描述

3.设定你要checkout 哪些文件夹(如/xxx/*表示xxx文件夹下所有文件)(也可以用vim直接打开 .git/info/sparse-checkout写入)

这里以gitee中的项目为例:https://gitee.com/iGaoWei/big-data-view
在这里插入图片描述
这里有100套模板,显然不用全下载,找到自己合适的就行。

点击web => 001 政务服务大数据可视化监管平台,现在我们下载该文件夹
在这里插入图片描述
运行命令:

echo '/web/001 政务服务大数据可视化监管平台/*' >> .git/info/sparse-checkout

在这里插入图片描述

4.设定remote (要从哪里clone/pull?)

复制项目地址,设置远程仓库
在这里插入图片描述

在这里插入图片描述

命令:

git remote add origin https://gitee.com/iGaoWei/big-data-view.git

5.然后就可以开始pull 了

命令:

git pull origin master

在这里插入图片描述
下载完成!!!

test文件夹下出现了/web/001 政务服务大数据可视化监管平台
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

参考资料

https://www.cnblogs.com/impw/p/15629514.html

<think>好的,我现在需要帮助用户解决Git克隆时出现的“目标路径已存在且非空目录”的问题。首先,我得仔细分析用户提供的引用内容,看看有没有相关的解决方案。 根据引用[3],用户尝试克隆一个仓库到名为CWFF的目录,但系统提示该目录已存在且非空。然而,用户发现实际目录并不存在,这可能是因为之前克隆操作被中断,者存在隐藏文件残留文件。解决方法是删除该目录更换目标路径名称。 另外,引用[5]提到可以使用--single-branch参数来克隆单个分支,但不确定这是否与当前问题相关,可能可以作为替代方案。 用户的问题可能还有其他情况,比如目标路径确实存在且有其他文件者权限问题。需要综合不同的情况给出解决方案。 首先,我应该列出所有可能的解决方法: 1. 删除现有目录:如果目录确实存在,但用户误以为不存在,者有隐藏文件,可以强制删除。 2. 更换目标路径名称:克隆到不同的目录名。 3. 手动初始化仓库:如果目录存在但为空,可以手动初始化并添加远程仓库。 4. 检查隐藏文件使用ls -a查看是否有隐藏的.git目录。 5. 使用--depth参数:浅克隆减少历史记录,但可能不直接解决路径存在的问题。 还需要注意权限问题,用户是否有权限删除目录写入目标路径。此外,如果是残留的.git文件,可能需要手动删除。 然后,根据这些思路,整理步骤,确保用户能一步步操作,避免进一步错误。例如,删除目录时使用rm -rf命令,但提醒用户谨慎操作,因为这会永久删除文件。 同时,需要检查用户是否在正确的路径下操作,避免路径错误。例如,在引用[3]中,用户切换到Desktop目录后尝试进入CWFF目录,但提示不存在,可能因为目录在另一个位置。 最后,生成相关问题,帮助用户扩展知识,比如如何克隆特定分支,如何处理超时问题等,参考用户提供的其他引用内容。</think>### 解决方案 当使用 `git clone` 时出现 `fatal: 目标路径 'XXX' 已经存在,并且不是一个空目录` 错误,通常是由于以下原因: 1. **目标路径已存在同名目录**(可能包含隐藏文件残留文件); 2. **历史克隆操作未完成残留文件未被清除**; 3. **系统路径权限问题**(较少见)。 以下是具体解决步骤: --- #### 方法1:删除已有目录 1. **检查目标路径**: ```bash ls -a 目标路径名称 # 例如 ls -a CWFF,检查是否存在隐藏文件(如 .git) ``` 如果发现目录中存在 `.git` 文件夹,说明该目录已被 Git 管理[^3]。 2. **强制删除目录**: ```bash rm -rf 目标路径名称 # 例如 rm -rf CWFF(谨慎操作,不可逆!) ``` 3. **重新克隆仓库**: ```bash git clone 仓库地址 ``` --- #### 方法2:更换目标路径名称 若不想删除原有目录,可指定新路径名称: ```bash git clone 仓库地址 新路径名称 ``` 例如: ```bash git clone https://github.com/D4Vinci/CWFF.git CWFF_new ``` --- #### 方法3:手动初始化仓库(适用于空目录) 如果目标目录为空且未被 Git 管理: 1. 进入目录并初始化: ```bash cd 目标路径名称 git init git remote add origin 仓库地址 git pull origin master # 其他分支 ``` --- #### 方法4:检查隐藏文件残留 某些情况下,目录可能因权限问题残留 `.git` 文件: ```bash find . -name ".git" # 搜索隐藏的 .git 目录 rm -rf .git # 确认后删除 ``` --- #### 其他场景 - **超时问题**:若同时遇到 `Failed to connect to github.com port 443`,需检查网络代理切换克隆协议(HTTP/SSH)[^2][^4]。 - **克隆指定分支**:使用 `--branch` 和 `--single-branch` 减少历史记录量[^5]: ```bash git clone 仓库地址 --branch 分支名 --single-branch 目标路径 ``` ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值