graceful-git

Executes git commands gracefully. Retries them on errors

Usage no npm install needed!

<script type="module">
  import gracefulGit from 'https://cdn.skypack.dev/graceful-git';
</script>

README

graceful-git

Executes Git commands gracefully. Retries on errors

Git is called by absolute path to avoid binary planting attacks on Windows.

npm version

Installation

<npm|yarn|pnpm> add graceful-git

Usage

'use strict'
const gracefulGit = require('graceful-git')

gracefulGit(['status', 'README.md'])
  .then(result => console.log(result.stdout))
  .catch(err => console.error(err))
  //> On branch master
  //  Your branch is based on 'origin/master', but the upstream is gone.
  //    (use "git branch --unset-upstream" to fixup)
  //  nothing to commit, working directory clean

API

git(args, [opts]) => Promise

Arguments:

  • args - string[] - arguments passed to the Git CLI
  • opts.cwd - Path - the directory in which the Git command should be executed
  • ...opts - object - optional. Parameters used by retry when git operation fails.

git.noRetry(args, [opts]) => Promise

Same as git() but without retries.

License

MIT © Zoltan Kochan