![NPM](https://nodei.co/npm/git-workspace.png?downloads=true)
![Dependency Status](https://david-dm.org/mariocasciaro/git-workspace.png)
Synopsis
A command line utility to manage multiple git-based projects, when each one of them has a different remote repository
or possible more then one remote repository.
If you are working with Node.js npm-workspace is the perfect companion
to this utility
Stability
Experimental: use at your own risk
Prerequisites
- Need the
git
executable in the PATH - Since this program is based on Node.js, you will need to install Node.js first
- To install:
npm install -g git-workspace
Usage
Definition: We will call workspace a directory containing a set of projects.
workspace
├── prj1
├── prj2
├── prj3
└── workspace.json
To get started create a workspace.json
in your workspace dir. It will look like this:
{
"repositories": {
"default": {
"prj1": "git+ssh://example.org/example/repo1
},
"github": {
"prj2": "git+ssh:
"prj3": "git+ssh://example-github.org/example/repo3
}
}
}
Repositories are aggregated into groups (in the example above default
and github
). The default
group`
provide the default remote repo if none is specified in the other groups and is the default group to be picked
when no specific group is specified in the command line.
clone
$ cd workspace
$ git-workspace clone github
Will clone the remote group github
(prj1, prj2, prj3) into the workspace. Project directories must be empty for the clone
to succeed.
push
$ cd workspace
$ git-workspace push
Will push the group default
(prj1) to the remote repo.
pull
$ cd workspace
$ git-workspace pull github
Will pull the changes of the group github
(prj1, prj2, prj3) from the remote repo.
Licence
MIT