Skip to main content

A Python CLI tool for managing and synchronizing multiple git repositories with ease

Project description

GitDirector

A Python CLI tool for managing and synchronizing multiple git repositories.

Installation

pip install gitdirector

Usage

gitdirector add PATH [--discover]     Add a repository or discover all under a path
gitdirector remove PATH [--discover]  Remove a repository or all under a path
gitdirector list                      List all tracked repositories with live status
gitdirector status                    Show dirty repositories with staged/unstaged files
gitdirector pull                      Pull latest changes for all tracked repositories
gitdirector help                      Show help

add

gitdirector add /path/to/repo
gitdirector add /path/to/folder --discover   # recursively find and add all repos

remove

gitdirector remove /path/to/repo
gitdirector remove /path/to/folder --discover

list

Displays a live table of all tracked repositories with:

  • Sync state: up to date, ahead, behind, diverged, or unknown
  • Current branch
  • Staged/unstaged changes
  • Last commit (relative time)
  • Tracked file size
  • Path

Checks run concurrently (default: 10 workers).

status

Shows repositories with uncommitted changes (staged and/or unstaged files). Prints a summary of total, clean, and changed repo counts.

pull

Pulls all tracked repositories concurrently using fast-forward only (git pull --ff-only). Reports success or failure per repository.

Configuration

Config is stored at ~/.gitdirector/config.yaml.

repositories:
  - /path/to/repo1
  - /path/to/repo2
max_workers: 10   # optional, default 10

Requirements

  • Python 3.9+
  • Git

License

MIT

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

gitdirector-0.1.5.tar.gz (7.7 kB view details)

Uploaded Source

Built Distribution

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

gitdirector-0.1.5-py3-none-any.whl (9.5 kB view details)

Uploaded Python 3

File details

Details for the file gitdirector-0.1.5.tar.gz.

File metadata

  • Download URL: gitdirector-0.1.5.tar.gz
  • Upload date:
  • Size: 7.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for gitdirector-0.1.5.tar.gz
Algorithm Hash digest
SHA256 bec50f0c00fd6f1d7241cbb30dde1afbe3d2b1d5fd3189159e5c9afef68dcc6f
MD5 77d26a5c9c6c94a6a5c90a859400e038
BLAKE2b-256 24900e734c1151e2723bc47b1a607a9a42a0afeb0826857689e33662908b8416

See more details on using hashes here.

Provenance

The following attestation bundles were made for gitdirector-0.1.5.tar.gz:

Publisher: release.yml on anitoanto/gitdirector

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file gitdirector-0.1.5-py3-none-any.whl.

File metadata

  • Download URL: gitdirector-0.1.5-py3-none-any.whl
  • Upload date:
  • Size: 9.5 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for gitdirector-0.1.5-py3-none-any.whl
Algorithm Hash digest
SHA256 9b175a26034c2f71c4f164176e128f5412887595d8c2fa3a5baa50ba0e28f08f
MD5 72c4074e1753de40e57607bb30b45686
BLAKE2b-256 770e515d75baea5c1266279b075e46184558ace424eb3e3f0458f263e0f60eb1

See more details on using hashes here.

Provenance

The following attestation bundles were made for gitdirector-0.1.5-py3-none-any.whl:

Publisher: release.yml on anitoanto/gitdirector

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

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