Skip to content

krisb/gitman

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

9 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

gitman

Introduction

Git utility for managing multiple repositories. It operates using a manifest file, .gitmanrc, which contains all the necessary configuration.

Install

To install globally:

$ npm install -g gitman

Usage

Run gitman using the binary, e.g.:

$ gitman -h
  git utility for managing multiple repositories

  Usage: gitman <options> <commands>

  Options:
    -h, --help                  output usage information
    -p, --pattern <pattern>     pattern to match
    -v, --verbose               verbose output

  Commands:
    init                        creates .gitmanrc in the current directory
    list                        list repositories by full name
    json                        outputs repositories in json format
    manage                      manages repositories, cloning and setting remotes as necessary

gitman traverses up from the current working directory till it finds a .gitmanrc file containing configuration in JSON.

A sample configuration for this project might be:

{
  "repos": [
    {
      "fullName": "krisb/gitman",
      "group": "krisb",
      "name": "gitman",
      "path": "dev/krisb/gitman",
      "remotes": {
        "origin": "[email protected]:krisb/gitman.git"
      }
    }
  ]
}

Design Notes

libgit2 vs exec

libgit2 support in node is lacking. https://github.com/libgit2/node-gitteh is in need of a new owner and https://github.com/nodegit/nodegit doesn't support git over ssh.

For now, this relies on child process exec.

About

git utility for managing multiple repositories

Resources

License

Stars

Watchers

Forks

Packages

No packages published