Skip to main content

Git status tool

Project description

gst MIT License Tests Coverage

Synposis

gst is short for Git Status - it's a commandline app with some neat features for improving your workflow with git Note that gst is meant for in dark themed terminals

Installation

Install from pip.

pip install gst

Usage

$ gst              # View git status

Initial git status

$ gst 1            # Get file path by reference

File reference output

$ gst -a 0         # Add files to staging area

After adding file

$ gst -r 0         # Reset staged changes

After reset

$ gst -c 1         # Checkout files to revert changes

After checkout

$ gst -D 2         # Delete files at index

After delete

$ gst -d 1         # View file differences

Git diff output

$ gst -e 1         # Open file in editor
# Use file references with other commands
$ cat $(gst 1)     # Display contents of file at index 1
$ vim $(gst 1)     # Open file at index 1 in vim

Range and selection syntax

All commands that accept REF_RANGE support flexible selection patterns:

Pattern Description Example
0,2,4 Specific indices gst -a 0,2,4
1:3 Range (inclusive) gst -r 1:3
2: Unbounded range gst -c 2:
0,2:4,6 Mixed patterns gst -D 0,2:4,6

Contributing

Contributions are welcome! See CONTRIBUTING.md for development setup, testing guidelines, and how to contribute to the project.

Compatibility

  • Linux, Mac, Windows
  • Git version >=2
  • Python 3.8+ (fully tested and supported)
  • Python 3.6, 3.7 (best-effort support with manual testing)

Python Version Support Policy

  • Python 3.8+: Fully supported with automated testing in CI/CD
  • Python 3.6, 3.7: Best-effort support with periodic manual testing for compatibility

Due to GitHub Actions dropping support for Python 3.6 and 3.7, we can no longer provide automated testing for these versions. However, we will continue to maintain compatibility when possible and provide periodic updates with manual testing to confirm functionality.

Performance Optimization

Since gst relies on git status, optimizing git performance will directly improve gst performance. These settings can provide 50-75% faster operations for large repositories:

# Enable all git performance optimizations
git config core.fsmonitor true          # File system monitor (Windows/macOS only)
git config core.untrackedCache true     # Cache untracked file detection
git config feature.manyFiles true       # Optimize for large repositories

Features:

  • FSMonitor: Background file monitoring, up to 75% faster (not supported on Linux)
  • Untracked Cache: Faster detection of untracked files
  • feature.manyFiles: Optimized index format for repositories with many files

Note: FSMonitor provides the biggest performance boost for large repositories but may add overhead for small repositories.

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

gst-0.1.13.tar.gz (18.4 kB view details)

Uploaded Source

Built Distribution

gst-0.1.13-py3-none-any.whl (8.4 kB view details)

Uploaded Python 3

File details

Details for the file gst-0.1.13.tar.gz.

File metadata

  • Download URL: gst-0.1.13.tar.gz
  • Upload date:
  • Size: 18.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.8.20

File hashes

Hashes for gst-0.1.13.tar.gz
Algorithm Hash digest
SHA256 38bcdcb1ce385b6cbe162e5df404e697db79eb0be9b5e8b3355508eb9af54157
MD5 67d1d4fab9fab9bd6b5bd4c869804071
BLAKE2b-256 38ca698f878599c20d11e38bdc493593b4d8d5a332671e805aed74616835c549

See more details on using hashes here.

File details

Details for the file gst-0.1.13-py3-none-any.whl.

File metadata

  • Download URL: gst-0.1.13-py3-none-any.whl
  • Upload date:
  • Size: 8.4 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.8.20

File hashes

Hashes for gst-0.1.13-py3-none-any.whl
Algorithm Hash digest
SHA256 c1b4cbe7a372b6ebfb531dab6f515fb461f799bed62605bbfad07acb220ca8f7
MD5 1b78545e8259d15eccddaa7d22530106
BLAKE2b-256 dedf1ddefac1aab880092f4e6cf7f26448011af6d841faf90045aa97b1e31220

See more details on using hashes here.

Supported by

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