# haiyan-clone

> haiyan-clone 下载 github/gitlab/gitee 中指定的文件夹，可缩短目标源码下载速度

Latest version **0.0.1** (published 2021-07-02) · MIT license · 0 weekly downloads

## Install

```sh
npm install haiyan-clone
pnpm add haiyan-clone
yarn add haiyan-clone
bun add haiyan-clone
```

Provides the commands `hclone`, `haiyan-clone`.

## Health

**Score 15/100 (F)** — status: abandoned.

Positive: no vulnerabilities.

Warnings: low downloads; no types; no esm support; pre 1.0.

Negative: abandoned; low maintenance score.

## Facts

| | |
|---|---|
| Version | 0.0.1 |
| Published | 2021-07-02 |
| First published | 2021-07-02 |
| Weekly downloads | 0 |
| License | MIT |
| TypeScript types | none |
| Module format | CommonJS |
| Dependencies | 3 |
| Unpacked size | 11.4 KB |
| Known vulnerabilities | 0 |
| Install scripts | no |
| Author | ShenBao |
| Maintainers | shenbao |
| Keywords | haiyan-clone, hclone |

## Links

- npm: https://www.npmjs.com/package/haiyan-clone
- Repository: https://github.com/ShenBao/haiyan-clone
- Homepage: https://github.com/ShenBao/haiyan-clone#readme
- Issues: https://github.com/ShenBao/haiyan-clone/issues
- npm.io page: https://npm.io/package/haiyan-clone

## Dependencies (3)

- [shelljs](https://npm.io/package/shelljs.md) ^0.8.4
- [inquirer](https://npm.io/package/inquirer.md) ^8.0.0
- [optimist](https://npm.io/package/optimist.md) ^0.6.1

## Recent versions

- 0.0.1 (latest) — 2021-07-02

## README

# haiyan-clone

haiyan-clone 下载 github/gitlab/gitee 中指定的文件夹，可缩短目标源码下载速度

## 特性

- 可以只下载单独的一个文件夹，大大缩短下载速度
- 全面，同时兼容 github、gitlab、gitee
- 简单，只需要复制地址栏的链接即可

## 如何使用

非常简单，只需要找到需要下载的文件夹的 github url 地址即可

如：https://github.com/facebook/react/tree/master/packages/react

```bash
$ npm i -g haiyan-clone

$ haiyan-clone  https://github.com/facebook/react/tree/master/packages/react
# or
$ hclone  https://github.com/facebook/react/tree/master/packages/react
```

也可以在文件中直接导入

```js
import {hclone} from 'haiyan-clone';

await hclone('https://github.com/facebook/react/tree/master/packages/react');
```

## 原理

git 1.7 版本后支持的 sparse checkout 特性，可以指定需要 checkout 的目录

```bash
$ git init    # git 初始化

$ git config core.sparsecheckout true    # 开启sparse checkout 功能

$ git remote add origin http://githhub/projectName.git   # 添加远程仓库地址

$ echo "folderName" >> .git/info/sparse-checkout   # folderName 需要拉去的文件夹名称

$ git pull origin master    # 拉取远程哪个分支的文件目录，这里是 master 上的分支
```

## More links

- [GitHub Home](https://github.com/ShenBao)
- [Blog Home](https://shenbao.github.io)
- [About Me](https://shenbao.github.io/about/)

---
_Source: https://npm.io/package/haiyan-clone · Machine-readable twin of the npm.io package page. Health data is recomputed on every publish._
