/gpm.rs

helps you manage hundreds of repository, and it written with Rust

Primary LanguageRustMIT LicenseMIT

gpm

ci ci Latest Version License Repo Size

If you have hundreds of repository, how will you manage them?

This tool helps you manage repository. The directory is hierarchically based on the Git address, similar to Golang's package management, which can organize your hundreds or even thousands of projects.

eg. https://github.com/axetroy/gpm.rs.git will be storage at $ROOT/github.com/axetroy/gpm.rs just with one command:

$ gpm clone https://github.com/axetroy/gpm.rs.git

Install

  1. Cask

    cask install github.com/axetroy/gpm.rs
  2. Github release page

    Download the executable, then put it in the $PATH directory.

Usage

# config root path
$ gpm config add root ~/gpm

# clone project instead of git clone
$ gpm clone https://github.com/axetroy/gpm.rs

# clone with git command argument
$ gpm clone https://github.com/axetroy/gpm.rs -- --progress --recursive

Command

Command Description
gpm clone <REMOTE> [OPTIONS] Clones repository
gpm open <REMOTE_OR_PATH> Open repository with file explorer
gpm vscode <REMOTE_OR_PATH> Open repository with vscode
gpm list List repositories
gpm config Print configure
gpm config add <FIELD> <VALUE> Add configure for a field
gpm config set <FIELD> <VALUE> Set configure for a field
gpm config remove <FIELD> Remove configure for a field
gpm config reset Reset configure

Relative

  • gpm.js - I wrote with nodejs in many years ago.
  • vscode-gpm - Integrate with vscode, I have been using this for a long time.

LICENSE

The MIT License