Skip to content
Colin Tan edited this page Aug 22, 2016 · 18 revisions

The git Plugin

The git plugin provides many aliases and a few useful functions.

Enable it by adding git to the plugins array before sourcing OMZ (see Plugins).

Aliases

Alias Command
g git
ga git add
gaa git add --all
gapa git add --patch
gb git branch
gba git branch -a
gbda git branch --merged | command grep -vE "^(*|\smaster\s$)" | command xargs -n 1 git branch -d
gbl git blame -b -w
gbnm git branch --no-merged
gbr git branch --remote
gbs git bisect
gbsb git bisect bad
gbsg git bisect good
gbsr git bisect reset
gbss git bisect start
gc git commit -v
gc! git commit -v --amend
gca git commit -v -a
gcam git commit -a -m
gca! git commit -v -a --amend
gcan! git commit -v -a -s --no-edit --amend
gcb git checkout -b
gcf git config --list
gcl git clone --recursive
gclean git clean -df
gcm git checkout master
gcd git checkout develop
gcmsg git commit -m
gco git checkout
gcount git shortlog -sn
gcp git cherry-pick
gcpa git cherry-pick --abort
gcpc git cherry-pick --continue
gcs git commit -S
gd git diff
gdca git diff --cached
gdt git diff-tree --no-commit-id --name-only -r
gdw git diff --word-diff
gf git fetch
gfa git fetch --all --prune
gfo git fetch origin
gg git gui citool
gga git gui citool --amend
ghh git help
ggpull ggl
ggpur ggu
ggpush ggp
ggsup git branch --set-upstream-to = origin/$(current_branch)
gpsup git push --set-upstream origin $(current_branch)
gignore git update-index --assume-unchanged
gignored git ls-files -v | grep "^:lower:"
git-svn-dcommit-push git svn dcommit && git push github master:svntrunk
gk \gitk --all --branches
gke \gitk --all $(git log -g --pretty = format:%h)
gl git pull
glg git log --stat --color
glgg git log --graph --color
glgga git log --graph --decorate --all
glgm git log --graph --max-count = 10
glgp git log --stat --color -p
glo git log --oneline --decorate --color
glog git log --oneline --decorate --color --graph
glol git log --graph --pretty = format:'%Cred%h%Creset -%C(yellow)%d%Creset %s %Cgreen(%cr) %C(bold blue)<%an>%Creset' --abbrev-commit
glola git log --graph --pretty = format:'%Cred%h%Creset -%C(yellow)%d%Creset %s %Cgreen(%cr) %C(bold blue)<%an>%Creset' --abbrev-commit --all
glp _git_log_prettily
gm git merge
gmom git merge origin/master
gmt git mergetool --no-prompt
gmtvim git mergetool --no-prompt --tool = vimdiff
gmum git merge upstream/master
gp git push
gpd git push --dry-run
gpoat git push origin --all && git push origin --tags
gpristine git reset --hard && git clean -dfx
gpu git push upstream
gpv git push -v
gr git remote
gra git remote add
grb git rebase
grba git rebase --abort
grbc git rebase --continue
grbi git rebase -i
grbm git rebase master
grbs git rebase --skip
grh git reset HEAD
grhh git reset HEAD --hard
grmv git remote rename
grrm git remote remove
grset git remote set-url
grt cd $(git rev-parse --show-toplevel || echo ".")
gru git reset --
grup git remote update
grv git remote -v
gsb git status -sb
gsd git svn dcommit
gsi git submodule init
gsps git show --pretty = short --show-signature
gsr git svn rebase
gss git status -s
gst git status
gsta git stash
gstaa git stash apply
gstd git stash drop
gstl git stash list
gstp git stash pop
gstc git stash clear
gsts git stash show --text
gsu git submodule update
gts git tag -s
gunignore git update-index --no-assume-unchanged
gunwip git log -n 1 | grep -q -c "--wip--" && git reset HEAD~1
gup git pull --rebase
gupv git pull --rebase -v
glum git pull upstream master
gvt git verify-tag
gwch git whatchanged -p --abbrev-commit --pretty = medium
gwip git add -A; git rm $(git ls-files --deleted) 2> /dev/null; git commit -m "--wip--"

Deprecated Aliases

These are aliases that have been removed, renamed, or otherwise modified in a way that may, or may not, receive further support.

Alias Command Modification
gap git add --patch new alias gapa
gcl git config --list new alias gcf
gdc git diff --cached new alias gdca
gdt git difftool no replacement
ggpull git pull origin $(current_branch) new alias ggl (ggpull still exists for now though)
ggpur git pull --rebase origin $(current_branch) new alias ggu (ggpur still exists for now though)
ggpush git push origin $(current_branch) new alias ggp (ggpush still exists for now though)
gk gitk --all --branches now aliased to \gitk --all --branches
glg git log --stat --max-count = 10 now aliased to git log --stat --color
glgg git log --graph --max-count = 10 now aliased to git log --graph --color
gwc git whatchanged -p --abbrev-commit --pretty = medium new alias gwch
gwip git add -A; git ls-files --deleted -z | xargs -r0 git rm; git commit -m "--wip--" now aliased to git add -A; git rm $(git ls-files --deleted) 2> /dev/null; git commit -m "--wip--"

Functions

Current

Command Description
current_branch Return the name of the current branch
current_repository Return the names of the current remotes
git_current_user_name Returns the user.name config value
git_current_user_email Returns the user.email config value

WiP

These features allow to pause a branch development and switch to another one ("Work in Progress", or wip). When you want to go back to work, just unwip it.

Command Description
work_in_progress Echoes a warning if the current branch is a wip
gwip Commit wip branch
gunwip Uncommit wip branch
Clone this wiki locally