1
0
Fork 0
Simple one--three-character bash aliases for Git with tab completion
Go to file
Mike Gerwitz d73811b536
Shortmap additions and improvements
2014-08-21 23:34:48 -04:00
COPYING Initial commit of shortmaps, bash_completion, COPYING, and README.md 2013-12-08 13:41:11 -05:00
README.md Numerous L* log maps 2014-08-21 22:52:09 -04:00
bash_completion Added missing copyright information 2014-08-21 23:34:10 -04:00
shortmaps Numerous L* log maps 2014-08-21 22:52:09 -04:00

README.md

git-shortmaps provides very concise (mostly one- and two-character), user-configurable commands for Git with support for Bash tab completion.

shortmaps / Bash Completion

The bash_completion file contains Bash completion for custom commands and "shortmappings", which provide single-character aliases to common Git commands.

Setup

Source the bash_completion file (e.g. place in .bashrc or in /etc/bash_completion.d/ on Debian systems), with the path to the provided shortmaps file as the only argument:

$ . bash_completion ./shortmaps

You may also add your own mappings to ~/.git-shortmaps.

Usage

By default, the following mappings are available, each with tab completion:

  • a - git add
  • A - git add -A
  • b - git branch
  • bv - git branch -v
  • B - git bisect
  • Bs - git bisect start
  • Bg - git bisect good
  • Bb - git bisect bad
  • Br - git bisect reset
  • c - git commit
  • ca - git commit --amend
  • co - git checkout
  • C - git commit -am
  • CS - git commit -S -am
  • d - git diff
  • ds - git diff --stat
  • f - git fetch
  • L - git log --show-signature
  • Ld - git log --show-signature --decorate
  • Lf - git log --show-signature --first-parent
  • Lg - git log --show-signature --graph
  • Lgd - git log --show-signature --graph --decorate
  • Lm - git log --show-signature --merges
  • Ln - git log --show-signature --no-merges
  • m - git merge
  • ma - git merge --abort
  • p - git push
  • P - git pull
  • Pr - git pull --rebase=preserve
  • Prp - git pull --rebase=preserve && git push
  • R - git rebase
  • Ri - git rebase --interactive
  • Ra - git rebase --abort
  • Rc - git rebase --continue
  • s - git status --short
  • S - git stash
  • Sa - git stash apply
  • Sl - git stash list
  • Sp - git stash pop
  • Ss - git stash show
  • t - execute tig
  • T - git tag
  • - - git checkout -
  • -- - cd to root dir of repository

The shortmaps may only be used within a git repository; otherwise, they will invoke the actual command on the system.

If a shortmap conflicts with an existing command on your system, then you may wrap the command in quotes to invoke the actual command rather than the shortmap (e.g. 'c' to invoke which c rather than the shortmap c).

Configuration

The file format is as follows:

KEY COMPLETION :CMD
KEY COMPLETION |CMD
KEY COMPLETION CMD

If CMD contains a colon (:) prefix, the command will be prefixed with git. If prefixed with a pipe (|), the command will be sent to eval (needed for certain features like subshells). Commands without either prefix will be executed normally.