Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/jaz303/git-clone

Clone a git repository
https://github.com/jaz303/git-clone

Last synced: 9 days ago
JSON representation

Clone a git repository

Awesome Lists containing this project

README

        

# git-clone

Clone a git repository via `git` shell command.

## Installation

Install:

$ npm install git-clone

To use the original callback-based API:

const clone = require('git-clone');

As of 0.2.0 there's a promised-based API for use with `async`/`await`:

const clone = require('git-clone/promise');

## API

## Common Options

* `git`: path to `git` binary; default: `git` (expected to be in your `$PATH`)
* `shallow`: when `true`, clone with depth 1
* `checkout`: revision/branch/tag to check out after clone
* `args`: additional array of arguments to pass to `git clone`

**NOTE:** the `args` option allows arbitrary arguments to be passed to `git`; this is inherently insecure if used in
combination with untrusted input. **Only use the `args` option with static/trusted input!**

## Callback

#### `clone(repo, targetPath, [options], cb)`

Clone `repo` to `targetPath`, calling `cb` on completion; any error that occurred will be passed as the first argument. If no error is passed the `git clone` operation was successful.

## Promise

#### `async clone(repo, targetPath, [options])`

Clone `repo` to `targetPath`, throwing an exception on failure.

## Contributors

- [AntiMoron](https://github.com/AntiMoron)

## Copyright & License

© 2014-2021 Jason Frame & Contributors [ [@jaz303](http://twitter.com/jaz303) / [[email protected]](mailto:[email protected]) ]

Released under the ISC license.