gash

Crates.iogash
lib.rsgash
version0.10.1
sourcesrc
created_at2020-03-29 08:56:07.715267
updated_at2022-04-09 12:13:52.464732
descriptionBrute force your git hash!
homepagehttps://github.com/acheronfail/gash
repositoryhttps://github.com/acheronfail/gash
max_upload_size
id224004
size91,859
(acheronfail)

documentation

README

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 your git 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
Commit count: 100

cargo fmt