smartgit/README.md
2019-06-18 15:17:50 +02:00

3.2 KiB

@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