A smart wrapper for nodegit that simplifies Git operations in Node.js.
Go to file
2019-08-27 16:02:04 +02:00
test fix(core): update 2019-06-20 14:10:42 +02:00
ts fix(core): update 2019-08-27 16:02:04 +02:00
.gitignore fix(core): update 2019-06-18 15:17:50 +02:00
.gitlab-ci.yml fix(core): update 2019-06-19 14:00:44 +02:00
LICENSE fix(core): update 2019-06-18 15:41:03 +02:00
npmextra.json fix(core): update 2019-06-19 14:10:16 +02:00
package-lock.json fix(core): update 2019-08-27 16:02:04 +02:00
package.json fix(core): update 2019-08-27 16:02:04 +02:00
README.md fix(core): update 2019-06-18 15:17:50 +02:00
tslint.json fix(core): update 2019-06-18 15:17:50 +02:00

@pushrocks/smartgit

smart wrapper for nodegit

Status for master

build status coverage report npm downloads per month Known Vulnerabilities TypeScript node JavaScript Style Guide

Usage

We recommend the use of TypeScript for best in class intellisense

// import smartgit:
import { GitRepo } from 'smartgit';

// Initialize smartgit:
// -- note: there are 3 ways to initialize smartgit
// -- -- 1. with a existing Git repo
// -- -- 2. with a cloned Git repo
// -- -- 3. with a new Git repo

// -- 1. existing Git Repo:
let myExistingGitRepo = new GitRepo('/path/to/existing/git/repo/');

// -- 2. cloned Git Repo:
let myClonedGitRepo: GitRepo;
smartgit.createRepoFromClone('git@github.com:username/reponame.git').then(gitRepo => {
  // non blocking
  myClonedGitRepo = gitRepo;
});

// -- 3. new Git Repo
let myNewGitRepo: GitRepo;
smartgit
  .createRepoFromInit('/path/to/new/folder') // smartgit will create any new folder, be careful
  .then(gitRepo => {
    // non blocking
    myNewGitRepo = gitRepo;
  });

// Using smartgit instance
// -- most used actions
// -- all actions return promises, so make sure to use promise chaining for any dependent tasks
myExistingGitRepo.addAll(); // returns promise, stages all changed files
myExistingGitRepo.add(['relative/path/to/file.txt', 'another/file2.txt']); // returns promise, stages specific files
myExistingGitRepo.commit('my commit message'); // returns promise, commits staged files
myExistingGitRepo
  .status() // returns promise
  .then(status => {
    // Use TypeScript for status type information
  });
myExistingGitRepo.check(); // returns promise, checks repo health
myExistingGitRepo.remoteAdd('git@github.com:username/reponame.git');

Tip: use smartssh to setup your SSH environment

npm

For further information read the linked docs at the top of this readme.

MIT licensed | © Lossless GmbH | By using this npm module you agree to our privacy policy

repo-footer