Skip to main content

localgit is a CL tool for managing multiple local git repo clones simultaneously.

Project description

localgit

Command line tool for managing all local git repository clones simultaneously. It includes status, pull, push, log, and list commands which have similar functionalities as their git counterparts but affect all/specified local repositories.

To always ignore specific repositories or whole directories when using localgits, you can add them to environmental variables LOCALGIT_EXCLUDE_REPO and LOCALGIT_EXCLUDE_DIR. These environmental variables are ; separated strings. Any local repository clone with a name matching one found in LOCALGIT_EXCLUDE_REPO and any local repository clone found within any of the directories in LOCALGIT_EXCLUDE_DIR will not be affected/checked by localgit.

Installing

If using a Linux Distro, use pipx to install globally. Then:

pipx install localgit

Otherwise, install globally like usual for Windows and Mac.

Common arguments

For all commands in localgit, the following CL optional arguments are available:

  1. repo_names: The names of the folders with git repos to check/affect.
  2. --repo-directories, -r: Directories with git repos to affect. Their validity is checked by the parser.
  3. --exclude, -x: The names of the git repo folders you don't want to check/affect.
  4. --verbose, -v: Print summary for all repos (including those that are already uptodate). * ~
  5. --silent, -s: Do not details of the command (including which files are modified/untracked for status, pulled for pull, and pushed for push.

* These flags are not available for localgit log. ~ The only flag used by localgit list.

localgit status

Calls git status in each git repository clone.

Has the following arguments:

  1. --modified: Only check for modified files. ~
  2. --untracked: Only check for untracked files. ~
  3. --deleted: Only check for deleted files. ~
  4. --commit-diffs: Check how many commits ahead and behind the origin the local repo clone is. *

~ Arguments are mutually exclusive.

* Uses git rev-list --left-right --count <branch>...origin/<branch>.

localgit pull

Calls git pull in each git repository clone. It reports cases where there are merge conflicts, successful merges, and any errors that occur when pulling from the origin.

Has only the common arguments.

localgit push

Calls git commit -am "new updates" ; git push in each git repository clone (therefore only commits and pushes modified files). Ensures that the local clone is not behind the origin.

Has the following arguments:

  1. --push-all, -A: Push all the changes including untracked ones.
  2. --message, -m: The commit message. Default is 'modified <comma separated list of modified files>. added <comma separated list of untracked files>.

localgit log

Calls git log --oneline in each git reposotiry clone and reports the last 3 commit logs or less (if there are fewer) by default.

Has the following argument:

  1. --num-logs, -n: The number of logs to show for each local repo. Default if 3.

localgit list

Prints all the local repo clones found on the device. Formatted to show which will be excluded by the other commands with the -A flag.

Has the following argument:

  1. --exclude, -x: The names of the git repo folders you don't want to check/affect.
  2. --all, -A: List all the local git repo folders including those that would be excluded.

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

localgit-1.2.1.tar.gz (15.6 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

localgit-1.2.1-py3-none-any.whl (19.8 kB view details)

Uploaded Python 3

File details

Details for the file localgit-1.2.1.tar.gz.

File metadata

  • Download URL: localgit-1.2.1.tar.gz
  • Upload date:
  • Size: 15.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.12.8

File hashes

Hashes for localgit-1.2.1.tar.gz
Algorithm Hash digest
SHA256 bf5ab4c04f10acdafedbfcf39d71ae58b0c2ddd9ec863970d43d06c300c054de
MD5 ecb8bd92507586c9daed0f3399e2245b
BLAKE2b-256 6233fd297c32b1fffaa02294812d28fb29af5bf1ab82781a56aff46dfb56f54b

See more details on using hashes here.

File details

Details for the file localgit-1.2.1-py3-none-any.whl.

File metadata

  • Download URL: localgit-1.2.1-py3-none-any.whl
  • Upload date:
  • Size: 19.8 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.12.8

File hashes

Hashes for localgit-1.2.1-py3-none-any.whl
Algorithm Hash digest
SHA256 61f07c82ce1a06f4bfa35e7c85feeb22c4160dfb65c22113f659f4ad6353d613
MD5 337ad7fbf731aacc5138d9d52a815217
BLAKE2b-256 24c968578e242e84022cdb17beaa3f40aacabb1b45b80a663a088f679b9bf704

See more details on using hashes here.

Supported by

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