Skip to main content

Git helper for multi-repository management

Project description

Git Jock Cli

Much like this image, the tool is under construction.

Jock

:construction: :construction_worker_man: :building_construction: :construction_worker_woman: :construction:

Build & Releases
:rocket: GitHub Release PyPi :rocket:
:test_tube: Validate Python Coverage Status :test_tube:
:closed_lock_with_key: ShiftLeft Quality Gate Status :closed_lock_with_key:

What is Jock CLI?

The CLI is intended to make dealing with multiple connected repositories easier, by grouping repositories and running git commands across them all.

Install

To install or update on Linux or MacOS, you can download from releases or run:

curl -s -L https://raw.githubusercontent.com/git-jock/git-jock-cli/main/scripts/install.sh | bash

:warning: Note this script uses sudo to move the binary to /usr/local/bin and you should check the script before execution.

Usage

Configuration

Repositories and groups must be configured in ~/.jockrc, in YAML format like below

repositories:
  auth-service:
    address: git@github.com:some-startup/authentication-service.git
    location: /home/jock/git/authentication-service
  shared-entities:
    address: git@github.com:some-startup/shared-entities.git
    location: ~/shared-entities
  ...
  user-service:
    address: git@github.com:some-startup/user-service.git
    location: ../users

groups:
  services:
    repositories:
      - auth-service
      - user-service
  • address is the remote git address
  • location is the local location, can be relative to home or absolute

CLI Usage

Usage: jock [OPTIONS] COMMAND [ARGS]...

Options:
  --version              Show the version and exit.
  -r, --repository TEXT  Repository, specified in ~/.jockrc, you wish to run
                         commands on. Multiple repositories can be specified
                         using multiple flags.

  -g, --group TEXT       Group of repositories, specified in ~/.jockrc, you
                         wish to run commands on.Multiple  groups can be
                         specified using multiple flags.

  --help                 Show this message and exit.

Commands:
  add branch checkout clone commit fetch pull push reset restore rm switch
  • OPTIONS can be --version, --help or a list of repositories such as -r git-jock-cli or --repository some-service
  • COMMAND is any of the currently supported git commands: add, branch, checkout, clone, commit, fetch, pull, push, reset, restore, rm, switch, or tag
  • ARGS are git arguments passed directly to the git command

Roadmap

This is a loose roadmap to explain where the tool will end up, the versions & functionality against them are open to changes.

0.3 +

  • Filtering on branch names
  • Terminal sessions
  • ???

Feel free to suggest feature requests in the issues.

Why is it called Git Jock?

That's Jock at the top, he's good at fetching, pulling etc. and I wish I could clone him. So it's a natural fit.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

git-jock-0.2.1.tar.gz (105.8 kB view hashes)

Uploaded Source

Built Distribution

git_jock-0.2.1-py3-none-any.whl (10.7 kB view hashes)

Uploaded Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page