Skip to main content

Git-Scan

Git-Scan is a command-line utility to scan local or remote git repositories for history that is divergent from the remote branch. It is particularly useful when dealing with multiple git repositories across multiple machines where pulls and pushes are missed, stashes are forgotten about, files are left untracked, etc.

Features

  • Scan repositories for missing push & pulls, uncommited changes, untracked files, leftover stashes, and dangling branches
  • Automatically pull or push a group of repositories
  • Open repositories in need of changes in TMUX windows
  • Execute over SSH to git-scan on a different computer
  • Configuration file to list scannable repositories

Usage

To run a git-scan

git-scan [--push] [--pull] [--repo] [--tmux] [--ssh]

where the optional arguments are

  • push: push repository changes if ahead of remote
  • pull: pull repository changes if behind remote and there are no merge conflicts
  • repo: list of repositories to scan (defaults to all in the configuration file)
  • tmux: open all repositories with problems to fix in a TMUX window
  • ssh: run the git-scan on the provided ssh host

To add a repository to the list of scannable repositories

git-scan add /path/to/repository

To remove a repository

git-scan remove /path/to/repository

To list all scannable repositories

git-scan list [--resolve]

Installation

Git-Scan can be installed with pip

pip install git-scan

If installed with the --user flag, make sure to add ~/.local/bin to your PATH

Configuration File

A configuration file located at ~/.config/git-scan/git-scan.conf is created. This is a TOML file listing the scannable repositories:

repositories = ["/path/to/repository_1", "/path/to/repository_2"]

The config file can be editted manually or changed using the add and remove commands. Glob patterns and tilde expansions are allowed, i.e. "~/path/to/repos/*"

License

Git-Scan is licensed under the terms of the MIT license.

Metadata

Release files for git-scan 0.2.1

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for git-scan 0.2.1
File Size Uploaded
git-scan-0.2.1.tar.gz 6.4 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for git-scan 0.2.1
File Interpreter ABI Platform
git_scan-0.2.1-py3-none-any.whl Python 3 none any Details

Total release size: 13.5 kB

Release files / git-scan-0.2.1.tar.gz

Download URL git-scan-0.2.1.tar.gz
Size 6.4 kB
Tags Source
SHA-256 checksum
How to use checksums
628e43bed2d0a4e18994879b4982a403c93e73805f4384d441ea408dcff46574
BLAKE2b-256 checksum
How to use checksums
a884480cfcfa2fcd41cd9da516e53f9be24dfe296e1da1accbad0604bbb9f1dd
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/1.13.0 pkginfo/1.5.0.1 requests/2.22.0 setuptools/41.0.1 requests-toolbelt/0.9.1 tqdm/4.28.1 CPython/3.7.3

Release files / git_scan-0.2.1-py3-none-any.whl

Download URL git_scan-0.2.1-py3-none-any.whl
Size 7.1 kB
Tags Python 3
SHA-256 checksum
How to use checksums
e329258f672826d9d588aac6098f6c7c5ae25f39e68ae42003cb614b1450f833
BLAKE2b-256 checksum
How to use checksums
37e51c521620c5887bb7102349ecc1773d979988aa6e9bd6b08fbdbda81c2bc7
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/1.13.0 pkginfo/1.5.0.1 requests/2.22.0 setuptools/41.0.1 requests-toolbelt/0.9.1 tqdm/4.28.1 CPython/3.7.3

Release history Release notifications | RSS feed

This release

0.2.1 This release

2 release files

0.2

2 release files

0.1

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page