8 unstable releases (3 breaking)
0.10.1 | Apr 9, 2022 |
---|---|
0.10.0 | Apr 9, 2022 |
0.9.4 | Jan 3, 2022 |
0.9.3 | Aug 28, 2021 |
0.1.0 | Mar 29, 2020 |
#1992 in Development tools
34 downloads per month
59KB
1.5K
SLoC
GASH: Git hASH
Some questions:
- Do you use
git
? - Do you think you're the bee's knees?
- Do you ever feel like your changes are lost in a sea of commits?
- Do you want to etch a
<your name> was here
forever into yourgit
history?
If you answered yes to any of those questions, or if you just like what you see when you look in the mirror, then this tool is for you!
How does it work?
It makes your last commit contain a provided substring. It does this by patching the metadata of the commit, and brute forcing it until it finds a match!
For more detail, see the genius who thought of it first:
Installation
Precompiled binaries
See the releases page for pre-compiled binaries. (If CI is working, I am tired of fighting with CI.)
Via Cargo
cargo install gash
From Source (via Cargo)
git clone https://github.com/acheronfail/gash/
cd gash
cargo install --path .
Usage
First and foremost, please see the help text:
gash --help
You can either run it via the command line:
cd path/to/your/git/repository
gash [options...]
Or, install it automatically as a git hook:
echo '#!/bin/bash\ngash [options...]' > .git/hooks/post-commit
chmod +x .git/hooks/post-commit
Configuration
Most command line flags can be set in your git config, too (see gash --help
for a comprehensive list).
For example:
# Set the default prefix to "babe":
git config --global gash.default "babe"
# Use parallel mode by default:
git config --global gash.parallel "true"
# Now, this is equivalent to running: `gash --parallel "babe"`
gash
Dependencies
~9–19MB
~264K SLoC