Skip to content
Marc Cornellà edited this page Mar 31, 2016 · 16 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
gcmsg git commit -m
gco git checkout
gcount git shortlog -sn
gcp git cherry-pick
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
ggpull ggl
ggpur ggu
ggpush ggp
ggsup git branch --set-upstream-to = 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 | | 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--" &amp;&amp; git reset HEAD~1 | | gup | git pull --rebase | | gupv | git pull --rebase -v | | 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