gitlump
v0.0.4
Published
A command line tool to manage all git repositories of user or organization.
Downloads
1
Readme
gitlump
A command line tool to manage all repositories of GitHub user or organization.
Install
$ npm install -g gitlump
Usage
Usage: gitlump [options] [command]
Commands:
create <type> <name> Initialize with creating new directory.
init <type> <name> Initialize exisiting directory.
clone Clone repositories.
pull Pull repositories.
exec Run git command.
ls Show cloned repositories.
ls-remote Show remote repositories.
Options:
-h, --help output usage information
-V, --version output the version number
Initialize
User repositries
$ gitlump create user <name>
Origanization repositories
$ gitlump create org <name>
After command finished, gitlump creates new directory named GitHub user or organization name, and creates .gitlump.json
file in the directory.
Use existing directory
$ cd your-directory
$ gitlump init <type> <name>
.gitlump.json
.gitlump.json
is a config file of gitlump.
{
"endpoint": "https://api.github.com/",
"type": "user",
"name": "nabeix",
"defaultProtocol": "ssh",
"useAccessToken": false,
"repos": [],
"ignore": [],
"cloned": []
}
endpoint
GitHub API Endpoint (default https://api.github.com/)- If use GitHub Enterprise: http(s)://hostname/api/v3/
type
user|orgname
Github user or organization namedefaultProtocol
ssh|https (default ssh)useAccessToken
true|false|string (default false)- If set true, read an access token from the environment variable
GITLUMP_ACCESS_TOKEN
. - If set an environment variable name, read an access token from the variable.
- If set true, read an access token from the environment variable
repos
A list of repository specific settings (default blank)- Example:
[{"name": "my-repo", "protocol": "https", "directory": "my-repo-directory"}]
name
repository nameprotocol
(optional) used instead ofdefaultProtocol
directory
(optional) clone directory name
- Example:
ignore
A list of repository names to be ignored (default blank)cloned
A list of cloned repository names (updated automatically bygitlump clone
)
Clone
$ gitlump clone
gitlump clone
automatically clones all repositories.
Pull
$ gitlump pull
gitlump pull
runs git pull
command in all repository directories.
This is a shorthand of gitlump exec pull
.
Other Git commands
Almost all git commands are available after gitlump exec
.
The followings are examples:
$ gitlump exec status
$ gitlump exec checkout master
$ gitlump exec commit -m "update"
Access token
An access token is needed if you have private repositories.
To use access token, set useAccessToken
in .gitlump.json
to true
.
And set your access token to the environment variable GITLUMP_ACCESS_TOKEN
.
export GITLUMP_ACCESS_TOKEN=your-access-token
If set the token to other environment variables:
"useAccessToken": "MY_TOKEN_VARIABLE_NAME"
export MY_TOKEN_VARIABLE_NAME=your-access-token
Contribution
- Fork it ( http://github.com/nabeix/gitlump )
- Create your feature branch (git checkout -b my-new-feature)
- Commit your changes (git commit -am 'Add some feature')
- Push to the branch (git push origin my-new-feature)
- Create new Pull Request
License
MIT