🗜 gitz - tiny useful git commands, some dangerous 🗜
Project description
This is a collection of a dszen git utilities, each of which does one useful thing well.
Most of them only exist here, one comes from other git repos, one came from a chat on Reddit and I don’t know where one of them came from
Nine of them are written in Python 3, the rest use Bash.
There’s a summary of what each command does below - for more details use the -h flag like this:
git all -h
How to install
If you have pip installed
pip3 install gitz
Otherwise, download and uncompress this directory, then put that directory’s path into the PATH environment variable.
Getting help
Each command has detailed help available by calling it with the -f flag, like this: git all -h.
A summary of the commands follows:
Safe commands
Informational commands that don’t change your repository
- git-fresh
Create and push fresh branches from a reference branch
- git-gitz
Print information about the gitz environment
- git-infer
Commit changes with an auto-generated message (from https://github.com/moondewio/git-infer)
- git-ls
List each file with its most recent commit, in subtle color (from an unknown source)
- git-rotate
Rotate the current branch forward or backward in the list of branches
- git-st
Colorful, compact git status
This version written by https://github.com/PlatyPew/, original version by https://www.reddit.com/user/ex1c)
- git-stripe
Push a sequence of commit IDs onto upstream branches
Dangerous commands that delete, rename or overwrite branches
- git-copy
Copy a git branch locally and on all remotes
- git-delete
Delete one or more branches locally and on all remotes
- git-rename
Rename a git branch locally and on all remotes
By default, the branches develop and master and the remote upstream are not allowed to be copied, renamed, or deleted.
You can disable this by setting the --all/-a flag, or you can override the protected branches or remotes by setting the environment variables PROTECTED_BRANCHES or PROTECTED_REMOTES
Dangerous commands that rewrite history
These commands are not intended for use on a shared or production branch, but can significantly speed up rapid development on private branches.
- git-amp
AMend just the last commit message and force-Push, somewhat safely
- git-combine
Combine multiple commits into one
- git-shuffle
Reorder and delete commits in the existing branch
- git-snip
Edit one or more commits out of history
- git-split
Split a range of commits into many single-file commits
Dangerous commands that are janky
git-all is something I use all the time, but it only works in simple cases, and I don’t see a good path to making it do complicated things in a sane way.
- git-all
Perform a command on each of multiple branches or directories
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.