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|NAME [--discover]  Remove a repository by path, name, 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         # remove by full path
gitdirector remove my-repo               # remove by repository name
gitdirector remove /path/to/folder --discover  # remove all repos under a path

If multiple tracked repositories share the same name, gitdirector will refuse and list the conflicting paths so you can use the full path instead.

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.6.tar.gz (8.3 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.6-py3-none-any.whl (10.0 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: gitdirector-0.1.6.tar.gz
  • Upload date:
  • Size: 8.3 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.6.tar.gz
Algorithm Hash digest
SHA256 0e89c53a4cd73dc7bc4591ca4c708b098b55cfe563609e35eb9c99bd10fef24f
MD5 285be86fb9a26b8d5670ca3cb6ae0994
BLAKE2b-256 f857555c06b71752b2e8c8ed2e6f6902a332d235dbab248f8dc12e07e7e64d0a

See more details on using hashes here.

Provenance

The following attestation bundles were made for gitdirector-0.1.6.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.6-py3-none-any.whl.

File metadata

  • Download URL: gitdirector-0.1.6-py3-none-any.whl
  • Upload date:
  • Size: 10.0 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.6-py3-none-any.whl
Algorithm Hash digest
SHA256 8a1e10adaf60fb5fe9d8214914c18c0b9db7bc6ce65669d8e4b3ae5416b5bf0c
MD5 ba32bed1a11c46496845ade296130c7d
BLAKE2b-256 410aa5a21cf1cced92a266d7dd499d0db1eeabae66e3ff406e3266336062647c

See more details on using hashes here.

Provenance

The following attestation bundles were made for gitdirector-0.1.6-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