OpenHarmony开发者论坛

标题: windows下载git仓中指定文件的方法 [打印本页]

作者: 深开鸿_石悌君    时间: 2024-3-21 10:41
标题: windows下载git仓中指定文件的方法
[md]## 引言

OpenHarmony中applications_app_samples仓中有很多工程,全部下载会消耗大量时间;如果只需要修改其中某一个工程,只下载所需工程的文件夹就高效很多。本文以下载code/UI/ArkTsComponentCollection/ComponentCollection工程为例,介绍在windows下checkout特定应用的方法

## 使用TortoiseGit下载部分文件

TortoiseGit是作者习惯使用的图形化工具,查询资料和摸索后发下该工具可以支持指定文件夹checkout,具体步骤如下

### step1、clone仓库时不做checkout

![](https://forums-obs.openharmony.c ... 20dj02dv20hmdtb.png)

### step2、修改git配置为稀疏下载模式并指定下载目录

a、修改.git/config文件,增加或修改稀疏功能 sparsecheckout = true

![](https://forums-obs.openharmony.c ... nwyznzw47i413qf.png)

b、在\.git\info目录下新建sparse-checkout文件;文件中写入期望的目录或文件

本例中则写为

code/UI/ArkTsComponentCollection/ComponentCollection

### step3、checkout

![](https://forums-obs.openharmony.c ... 81be72aj0ggk15g.png)

后面提交代码等操作和正常模式相同

## 使用git-bash命令

git的bash命令和linux下命令行操作方法相同,习惯使用命令行的开发者也可以稀疏下载

### step1、在下载目录中启动bash.exe

![](https://forums-obs.openharmony.c ... yinnzny1b6i0zlb.png)

### step2、使用git命令配置并下载工程

git init

git remote add origin https://gitee.com/shitijun/applications_app_samples.git

git sparse-checkout set  core.sparseCheckout

git sparse-checkout set code/UI/ArkTsComponentCollection/ComponentCollection

git pull

git checkout master

都实操一遍后,觉得我这种俗人还是喜欢图形化工具,哈哈

## 参考资料

https://blog.csdn.net/u011623102/article/details/109921064

https://git-scm.com/docs/git-sparse-checkout
[/md]
作者: 润开鸿_梁开祝    时间: 2024-5-9 17:47
“OpenHarmony 中 applications_app_samples 仓中有很多工程,全部下载会消耗大量时间;如果只需要修改其中某一个工程,只下载所需工程的文件夹就高效很多。”


这个描述并不正确,clone 仓库时,还是会把远程仓库的所有内容全部下载到本地仓库的元数据中,并不会节省下载代码的时间。

sparsecheckout = true 时,会把 .git/info/sparse-checkout 文件中指定的目录/文件,checkout 到工作区,而没有在 .git/info/sparse-checkout 文件中指定的目录/文件则不会checkout到工作区;

sparsecheckout = false 或未指定时,会把仓库所有的目录/文件都checkout到工作区。

作者: 深开鸿_石悌君    时间: 2024-5-10 09:41
回复 润开鸿_梁开祝: 感谢指导
但实操时总体时间确实快多了所以没有细想;那可能是减少了checkout的时间




欢迎光临 OpenHarmony开发者论坛 (https://forums.openharmony.cn/) Powered by Discuz! X3.5