git-workspace v0.1.2
git-workspace
A command line utility to manage multiple git-based projects, when each one of them has a different remote repositories or possibly 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
gitexecutable 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.jsonTo 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://example-github.org/example/repo2"
"prj3": "git+ssh://example-github.org/example/repo3"
}
}
}Repositories are aggregated into groups (in the example above default and github). The default group`
provides the default remote repo if none is specified for a given project and is the one to be picked
when no specific group is specified in the command line.
clone
$ cd workspace
$ git-workspace clone githubWill 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 pushWill push the group default (prj1) to the remote repo.
pull
$ cd workspace
$ git-workspace pull githubWill pull the changes of the group github (prj1, prj2, prj3) from the remote repo.
Licence
MIT

