Skip to content

Instantly share code, notes, and snippets.

@emanuel
Last active April 23, 2021 13:11
Show Gist options
  • Save emanuel/107db48049250e6795bfe1de13071c4c to your computer and use it in GitHub Desktop.
Save emanuel/107db48049250e6795bfe1de13071c4c to your computer and use it in GitHub Desktop.

Aliases

(sorted alphabetically)

Zshell Git Aliases Cheat Sheet

Most Used

  • gb - 'git branch'
  • gbda - Deletes local branches that have been merged
  • gbl - Git blame

Adding

  • g - 'git'
  • ga - 'git add'
  • gaa - 'git add --all'
  • gapa - 'git add --patch'
  • gau - 'git add --update'
  • gwip - 'git add -A; git rm $(git ls-files --deleted) 2> /dev/null; git commit --no-verify -m "--wip-- ```[skip ci]"'

Branching

  • gb - 'git branch'
  • gba - 'git branch -a'
  • gbd - 'git branch -d'
  • gbda - 'git branch --no-color --merged | command grep -vE "^(*|\s*(master|develop|dev)\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'

Commiting

  • gc - 'git commit -v'
  • gc! - 'git commit -v --amend'
  • gcn! - 'git commit -v --no-edit --amend'
  • gca - 'git commit -v -a'
  • gca! - 'git commit -v -a --amend'
  • gcan! - 'git commit -v -a --no-edit --amend'
  • gcans! - 'git commit -v -a -s --no-edit --amend'
  • gcam - 'git commit -a -m'
  • gcsm - 'git commit -s -m'

Checkout

  • gcb - 'git checkout -b'
  • gcf - 'git config --list'
  • gcl - 'git clone --recursive'
  • gclean - 'git clean -fd'
  • gpristine - 'git reset --hard && git clean -dfx'
  • gcm - 'git checkout master'
  • gcd - 'git checkout develop'
  • gcmsg - 'git commit -m'
  • gco - 'git checkout'
  • gcount - 'git shortlog -sn'

Cherry Picking

  • gcp - 'git cherry-pick'
  • gcpa - 'git cherry-pick --abort'
  • gcpc - 'git cherry-pick --continue'
  • gcs - 'git commit -S'

Diffing

  • gd - 'git diff'
  • gdca - 'git diff --cached'
  • gdct - 'git describe --tags git rev-list --tags --max-count=1'
  • gdt - 'git diff-tree --no-commit-id --name-only -r'
  • gdw - 'git diff --word-diff'
  • gwch - 'git whatchanged -p --abbrev-commit --pretty=medium'

Fetching

  • gf - 'git fetch'
  • gfa - 'git fetch --all --prune'
  • gfo - 'git fetch origin'

Pull / Push

  • ggpull - 'git pull origin $(git_current_branch)'
  • ggpush - 'git push origin $(git_current_branch)'
  • ggsup - 'git branch --set-upstream-to=origin/$(git_current_branch)'
  • gpsup - 'git push --set-upstream origin $(git_current_branch)'
  • gl - 'git pull'
  • gp - 'git push'
  • gpd - 'git push --dry-run'
  • gpoat - 'git push origin --all && git push origin --tags'
  • gpu - 'git push upstream'
  • gpv - 'git push -v'
  • gup - 'git pull --rebase'
  • gupv - 'git pull --rebase -v'
  • glum - 'git pull upstream master'

Git help

  • ghh - 'git help'

Git Ignore

  • 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'

Log

  • glg - 'git log --stat'
  • glgp - 'git log --stat -p'
  • glgg - 'git log --graph'
  • glgga - 'git log --graph --decorate --all'
  • glgm - 'git log --graph --max-count=10'
  • glo - 'git log --oneline --decorate'
  • glol="git log --graph --pretty - '%Cred%h%Creset -%C(yellow)%d%Creset %s %Cgreen(%cr) %C(bold blue)<%an>%Creset' --abbrev-commit"
  • glola="git log --graph --pretty - '%Cred%h%Creset -%C(yellow)%d%Creset %s %Cgreen(%cr) %C(bold blue)<%an>%Creset' --abbrev-commit --all"
  • glog - 'git log --oneline --decorate --graph'
  • gloga - 'git log --oneline --decorate --graph --all'
  • 
    

Merging

  • 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'

Rebasing

  • 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'

Remotes/Origins

  • gr - 'git remote'
  • gra - 'git remote add'
  • 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'

Status

  • 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'

Stashing

  • gsta - 'git stash save'
  • gstaa - 'git stash apply'
  • gstc - 'git stash clear'
  • gstd - 'git stash drop'
  • gstl - 'git stash list'
  • gstp - 'git stash pop'
  • gsts - 'git stash show --text'
  • gsu - 'git submodule update'

Tagging

  • gts - 'git tag -s'
  • gtv - 'git tag | sort -V'

Ignoring

  • gunignore - 'git update-index --no-assume-unchanged'
  • gunwip - 'git log -n 1 | grep -q -c "--wip--" && git reset HEAD~1'
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment