Skip to main content

The multi-repo manager

Project description

Gimme: The Multi-Repo Manager

This is a utility designed to help developers quickly hop between and manage the many repositories they keep on their workstations.

The main function of this util is jumping between repos with the base command, gimme [repo], but it also provides a few other simple utils.

checkout gimme -h for more info.

Installation and Setup

Install this package globally:

~$ sudo -H pip3 install gimmetool

Then run initialization:

~$ gimme init
where do all of your repositories live (default: ~/)? ~/code
shell config file [~/.zshrc]:
Initialization successful.
~$

After gimme is initialized, you should be able to hop between any repo under the folder you specified during initialization:

~$ gimme front
~/code/frontend$ gimme back
~/code/backend$

Other Tools

There are a few other tricks gimme has up its sleeve. Some help streamline jumps between your most common repos. Others help manage and prune large sets of repositories.

Favorites

Let's say you have the following repos:

/Users/bob/code/
- lib-alphabet/
- lib-alphafont/
- alphabeta/

But you spend most of your time in alphabeta. Jumping with gimme alpha might result in a jump to a repo you don't actually want to.

~$ gimme alpha
~/code/lib-alphabet$ # really? >:(

But, by adding the repo you want as a favorite, gimme will prioritize it.

gimme config add favorite /User/bob/code/alphabeta

Now, the jump is unambiguous:

~$ gimme alpha
~/code/alphabeta$ # :D

Aliases

Sometimes, there are repos with longer names that you'd rather not change, but that you'd also rather not type out.

/User/bob/code/legacy-backend-2013

You can create an alias that maps a shortcut to a more specific search.

~$ gimme config add alias back2018 legacy-backend-2018

Now, you don't have to be as specific with your jumps to get to the repo you want, and you don't have to change the name of the directory and inevitably forget the name of the remote origin it actually belongs to.

~$ gimme back13
~/code/legacy-backend-2013$ 

Listing Repositories

Gimme also lets you list all repositories and reports on what branches exist in them locally.

~$ gimme list (or gimme ls)
/Users/bob/code:
    my-backend
      * master
      - dev
      - working-branch
    my-frontend
      - new-homepage
      * main
      - temp-wip-changes
    my-database
      * main

Mass Updates

A little tired of having to pull multiple times on a bunch of separate repos? gimme will update the default branch of every repo in your groups!

~$ gimme updates
- Updating 'my-backend'...done
- Updating 'my-frontend'...done
- Updating 'my-database'...done
...

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

gimmetool-0.1.17.tar.gz (9.1 kB view details)

Uploaded Source

Built Distribution

gimmetool-0.1.17-py3-none-any.whl (9.3 kB view details)

Uploaded Python 3

File details

Details for the file gimmetool-0.1.17.tar.gz.

File metadata

  • Download URL: gimmetool-0.1.17.tar.gz
  • Upload date:
  • Size: 9.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.8.2 CPython/3.12.2 Darwin/23.4.0

File hashes

Hashes for gimmetool-0.1.17.tar.gz
Algorithm Hash digest
SHA256 d8206f04bde4dba188668eb847e322175d1d6eee84977d1088b6271c67890ff5
MD5 461503969adaecfa790a9ce976326d3e
BLAKE2b-256 ff092f7bdabfd205dfa78bce2cecf018f0229d802e2cc204aa1cb033e52d52f5

See more details on using hashes here.

File details

Details for the file gimmetool-0.1.17-py3-none-any.whl.

File metadata

  • Download URL: gimmetool-0.1.17-py3-none-any.whl
  • Upload date:
  • Size: 9.3 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.8.2 CPython/3.12.2 Darwin/23.4.0

File hashes

Hashes for gimmetool-0.1.17-py3-none-any.whl
Algorithm Hash digest
SHA256 96f4328b624a5d0aafc72f39b4bdb460f88de6ba9e436e0a1c994e3c411d9831
MD5 b8e0f95df3235b1cd902dbd14de3c5f9
BLAKE2b-256 09d0edc38ed428f4e169bf10f3f8d2749e45e3e95ac6d0e5c6cc69fd81940b8b

See more details on using hashes here.

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