Skip to main content

Gutsy Git

Makes git usage extremely fast by making some gutsy assumptions.

Assumptions:

You work in a development environment based on pull request, avoiding pushing to your main branch. Commit messages are not always very relevant due to squashing. Your .gitignore is set up well enough to routinely add all changes.

Installation

pip install gutsygit

Usage

gg <any number of single letter commands> [<arguments>]

Commands:

  • b [<name>]: Create a new branch from origin/main with generated or given name, stashing and applying uncommitted changes if needed.
    • If the branch exists, adds a numeric suffix to the name.
  • s <name>: Switch to existing branch.
  • c [<*message>]: Commit changes.
    • Ensures you are not on your protected branches by creating a branch if needed.
    • Add all changes, including untracked files, and commit them with a generated or given commit message.
    • If a b or s command remains after, argument(s) are assumed to be for the branch name, and the message is always generated.
    • Retries once on failure to automatically commit changes resulting from pre-commit hooks.
  • C [<*message>]: Same as c, but bypasses pre-commit hooks on the second try using --no-verify.
  • p: Push commits.
    • Potentially pulls from remote if needed.
    • Sets tracking for the remote branch with the same name on the first push.
  • P: same as p, but opens a web browser if an url is returned by git, as GitHub does for pull requests.
  • l: Pull

Examples

  • gg cP: Commit and push changes with a generated commit message, and open a pull request page if suggested by the remote.
  • gg bcp newbranch some description: Create a new branch named "newbranch", commit, and push any changes that were not committed before this with the commit message "some description".
  • gg Csl othertask: Commit current changes regardless of commit hooks status, switch to 'othertask' branch and updates it.

Settings

Settings are retrieved from git config with the gutsygit.[setting] key:

Setting Default value Explanation
protectedbranches "main,master" comma-separated list of branch names to avoid pushing to. Also used to branch from for a new clean branch, taking the first entry found that exists in the remote.
outputlevel "0" verbosity level (-1: debug, 1: headers/warnings/errors only)

Metadata

Release files for gutsygit 0.6.0

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

Source distribution (sdist)

Source distribution for gutsygit 0.6.0
File Size Uploaded
gutsygit-0.6.0.tar.gz 7.0 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for gutsygit 0.6.0
File Interpreter ABI Platform
gutsygit-0.6.0-py3-none-any.whl Python 3 none any Details

Total release size: 14.7 kB

Release files / gutsygit-0.6.0.tar.gz

Download URL gutsygit-0.6.0.tar.gz
Size 7.0 kB
Tags Source
SHA-256 checksum
How to use checksums
ca4ae77ff2bbd200af607300f48b8d581efe461b6375b625c746a31bc5cd16d5
BLAKE2b-256 checksum
How to use checksums
3f63c83aafeea273908db1d7abf831b58ae32290dd40ea008b2f31f53060ef16
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/3.4.1 importlib_metadata/4.0.1 pkginfo/1.7.0 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.60.0 CPython/3.8.11

Release files / gutsygit-0.6.0-py3-none-any.whl

Download URL gutsygit-0.6.0-py3-none-any.whl
Size 7.8 kB
Tags Python 3
SHA-256 checksum
How to use checksums
284be2fd3d869ed43fb6d311761fd9fe8940ce0ac5d69c99cf7056f1ab5eba76
BLAKE2b-256 checksum
How to use checksums
93f338c5892c349a61aaed39cb30cde08ba823350c822ef7b7ea5bad2d3f3469
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/3.4.1 importlib_metadata/4.0.1 pkginfo/1.7.0 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.60.0 CPython/3.8.11

Release history Release notifications | RSS feed

This release

0.6.0 This release

2 release files

0.5.3

2 release files

0.5.2

2 release files

0.5.1

2 release files

0.5.0

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