1
0
Fork 0
Simple one--three-character bash aliases for Git with tab completion
Go to file
Mike Gerwitz 2bd1bb990a
Added git bisect shortmaps
2013-12-08 13:43:59 -05:00
COPYING Initial commit of shortmaps, bash_completion, COPYING, and README.md 2013-12-08 13:41:11 -05:00
README.md Added git bisect shortmaps 2013-12-08 13:43:59 -05:00
bash_completion - and -- functions on their own line 2013-12-08 13:43:40 -05:00
shortmaps Added git bisect shortmaps 2013-12-08 13:43:59 -05:00

README.md

git-shortmaps provides very concise (one- or 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 bisect
  • bs - git bisect start
  • bg - git bisect good
  • bb - git bisect bad
  • br - git bisect reset
  • c - git commit
  • C - git commit -am
  • co - git checkout
  • d - git diff
  • f - git fetch
  • m - git merge
  • p - git push
  • P - git pull
  • s - git status
  • S - git stash
  • 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 command conflicts with an existing command on your system (e.g. bg), wrap the command in quotes to invoke the actual command. For example:

$ 'bg'  # invoke actual 'bg' command rather than shortmap

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.