git-interface
v2.1.2
Published
some interfaces for work with git repository
Maintainers
Readme
git-interface

Interface to work with a git repository in node.js
Installation
$ npm install git-interface --saveUsage
const { Git } = require('git-interface');
const git = new Git({
dir: '/path/to/repository' //default path is current directory
});
...Documentation
.setDir(dir: string)
Set path to repository
git.setDir('/path/to/repository');.init()
Initializes new git repo
git.init();.clone(repository: string, dest: string)
clone repository repository to path dest
await git.clone('[email protected]:yarkeev/git-interface.git', 'git-interface');.checkout(branchName: string)
Checkout to branch branchName
await git.checkout('master');.updateSubmodules(init: boolean = true, recursive: boolean = true)
Updates the git submodules:
await git.updateSubmodules();.commit(message: string)
Commit changes with message
await git.commit('message for annotate');.pull()
Pull current branch from origin
await git.pull();Pull branch feature1 from remote test with rebase (-r) option
await git.pull('test', { branch: 'feature1', rebase: true });.push()
Push current branch to origin
await git.push();.add()
Add all new files to VCS
await git.add();.merge(branchName: string, mergeOptions?: string)
Merge branch branchName to the current branch with flags mergeOptions
await git.merge('branch-name');await git.merge('branch-name', '--squash');.fetch()
Download objects and refs from origin
await git.fetch();.addRemote(name: string, url: string)
Add a remote
await git.addRemote('origin', '[email protected]:yarkeev/git-interface.git');.setRemote(name: string, url: string)
Set the url of a remote
await git.setRemote('origin', '[email protected]:yarkeev/git-interface.git');.getRemotes()
Gets list of remote names
await git.getRemotes();.getRemoteUrl(name: string)
Gets a url of a remote by name
await git.getRemoteUrl('origin');.reset()
Reset uncommitted changes
await git.reset();.getHash(fileName: string)
Getting hash commit was last modified
const hash = await git.getHash('path/to/file');.diffMaster(fileName: string)
File comparison fileName with master
const diff = await git.diffMaster('path/to/file');.getBranchName()
Get name of the current brunch
const branch = await git.getBranchName();.createBranch(branchName: string)
Create branch with name branchName
await git.createBranch('new-branch');.deleteBranch(branchName: string)
Delete branch with name branchName
await git.deleteBranch('existing-branch');.getDiffByRevisionFileList(revision: string)
Getting a list of files that have changed relative revision
const diffFileList = await git.getDiffByRevisionFileList('5e19a1d3c386a2607885627f3774d3d7746b60de');.getConflictList()
Get list of conflicted files after merge
const conflictList = await git.getConflictList();.getUncommittedList()
Get list of uncommitted files
const uncomittedList = await git.getUncommittedList();.getLastChanges()
Getting a list of files that have changed in the last commit
const lastChanges = await git.getLastChanges();.removeLocalBranch(branchName: string)
Remove local branch branchName
await git.removeLocalBranch('branch-name');.removeRemoteBranch(branchName: string)
Remove branch branchName from origin
await git.removeRemoteBranch('branch-name');.getLocalBranchList()
Get list of local branches
const branches = await git.getLocalBranchList();.getRemoteBranchList()
Get list of remote branches
const branches = await git.getRemoteBranchList();.getTimeOfLastCommit(branchName: string)
Get time of last commit in branch
const timeOfLastCommit = await git.getTimeOfLastCommit('branch-name');.getHashOfLastCommit(branchName: string)
Get hash of last commit in branch
const hashOfLastCommit = await git.getHashOfLastCommit('branch-name');