degit README

The project's README from github.com/Rich-Harris/degit. As one markdown file: README.md.

degit — straightforward project scaffolding

Known Vulnerabilities install size npm package version Contributor Covenant PRs Welcome

degit makes copies of git repositories. When you run degit some-user/some-repo, it finds the latest commit on https://github.com/some-user/some-repo and downloads the associated tar file to the platform-appropriate cache directory if it doesn't already exist locally. (This is much quicker than using git clone, because you're not downloading the entire git history.)

degit resolves refs through an internal git backend, downloads tar snapshots by default, and falls back to SSH cloning when tarball fetches or extraction fail. Public HTTPS sources do not need a local git binary on your PATH, but SSH/private repositories still do.

Requirements

Installation

npm install -g degit

Quick start

Download the default branch of a GitHub repo to the current directory:

degit user/repo

Download to a new folder:

degit user/repo my-new-project
degit -r user/repo

Download only specific files:

degit user/repo my-project --files README.md,src/index.ts

Use a specific tag, branch, or commit:

degit user/repo#v1.0.0

For the full CLI reference, ESM API, and degit.json actions, see docs/USAGE.md.

Why not just git clone --depth 1?

Agent skill

Install the reusable degit skill for agents that support SKILL.md files:

# project-level install
npx skills add Rich-Harris/degit --skill degit

# global install
npx skills add Rich-Harris/degit --skill degit -g

Then ask the agent to download a repository or template. The skill helps it choose a source, ref, and destination; handle private repositories and aliases; and avoid overwriting a non-empty destination without confirmation.

See skills/degit/SKILL.md for the full skill instructions.

Documentation

See also

License

MIT

degit (Rich-Harris/degit)

Searching Database…

7.9K ·GitHub
Что это такое?degit — это инструмент командной строки, который делает копии git-репозиториев. Запустите degit some-user/some-repo, и он скачает tar-архив последнего коммита в текущую папку — без истории git, поэтому это гораздо быстрее, чем git clone, когда нужно развернуть проект из шаблона.
Почему лучше использовать это, а не git clone --depth 1?История пропускается, поэтому скачивание быстрее, папка .git не создаётся, а tar-архивы кэшируются для повторного использования без интернета — и всё это меньшим числом нажатий. Плюс есть составные действия после копирования через degit.json, а также встроенная поддержка подпапок, фильтров файлов и псевдонимов.
Как этим пользоваться?Запустите degit user/repo, чтобы скачать ветку по умолчанию репозитория в текущую папку, или укажите второй аргумент, чтобы копия оказалась в новой папке. Также можно закрепить конкретный тег, ветку или коммит в качестве источника.
Что нужно установить, чтобы запустить его?Node.js 20 или новее. Публичные HTTPS-источники работают без локального git, но для SSH и приватных репозиториев git всё ещё должен быть в PATH — и degit переключается на клонирование по SSH, если не удалось скачать или распаковать tar-архив.
Куда попадают скачанные копии?Tar-снимки сохраняются в папку кэша, подходящую для вашей системы, и используются повторно, если уже есть локально, поэтому повторное скачивание того же шаблона не требует обращения к сети.
Что умеет degit.json?В нём описываются составные действия, которые выполняются после копирования. Полный набор действий, вся справка по CLI и ESM API описаны в docs/USAGE.md.
Что будет, если в целевой папке уже есть файлы?В README поведение CLI для этого случая не описано, но входящий в комплект навык для агента прямо написан так, чтобы не перезаписывать непустую папку без подтверждения.
Есть ли похожие инструменты, о которых стоит знать?В разделе «see also» в README в качестве родственных проектов перечислены zel от Vu Tran, gittar от Luke Edwards и gitpick от Neeraj Dalal.
Size
1 MB
Stars
7.9K
Age
9y
Commits · 90 Days