[alias] st = status -s pl = pull --rebase p = push co = checkout c = commit ca = commit -a diff = diff --word-diff dc = diff --cached lp = log --patch lg = log --decorate --graph --pretty=format:'%Cred%h%Creset -%C(yellow)%d%Creset %s %Cgreen(%cr)%Creset' --abbrev-commit --date=relative shas = log --reverse --pretty=format:'%h' --abbrev-commit me = !sh -c 'echo `git config user.name` \\<`git config user.email`\\>' mine = !sh -c 'git lg --author=\"`git me`\"' # TODO make this use selecta, when installed f = "!git ls-files | grep -i" # Add file excluding whitespace changes (http://stackoverflow.com/a/7149602/56690) addnw = !sh -c 'git diff -w --no-color "$@" | git apply --cached --ignore-whitespace' - unadd = reset HEAD ctags = "!$(git rev-parse --show-toplevel)/.git/hooks/ctags" latest = for-each-ref --sort=-committerdate --format='%(committerdate:relative) -> %(refname:short)' branch-name = !git for-each-ref --format='%(refname:short)' `git symbolic-ref HEAD` assume = update-index --assume-unchanged unassume = update-index --no-assume-unchanged assumed = "!git ls-files -v | grep ^h | cut -c 3-" unassumeall = "!git assumed | xargs git update-index --no-assume-unchanged" assumeall = "!git st -s | awk {'print $2'} | xargs git assume" # From https://github.com/garybernhardt/dotfiles/blob/master/bin/git-churn churn = "!git log --all -M -C --name-only --format='format:' \"$@\" | sort | grep -v '^$' | uniq -c | sort | awk 'BEGIN {print \"count\tfile\"} {print $1 \"\t\" $2}' | sort -g" br = branch [apply] whitespace = fix [color] branch = auto diff = auto status = auto ui = auto [core] attributesfile = ~/.gitattributes excludesfile = ~/.gitignore whitespace = trailing-space,space-before-tab precomposeunicode = true editor = vim -u NONE +0 -c 'syntax on' [branch] autosetupmerge = always autosetuprebase = local [diff "ruby"] funcname = ^ *\\(\\(class\\|module\\|def\\) .*\\) [github] user = bjeanes [init] templatedir = ~/.git_template [rerere] enabled = 1 [include] path = .gitconfig.github path = .gitconfig.pushurls path = .gitconfig.merge path = .gitconfig.local [credential] username = bjeanes helper = osxkeychain [difftool "Kaleidoscope"] cmd = ksdiff --partial-changeset --relative-path \"$MERGED\" -- \"$LOCAL\" \"$REMOTE\" [diff] algorithm = minimal mnemonicprefix = true tool = Kaleidoscope renames = copies [difftool] prompt = false [mergetool "Kaleidoscope"] cmd = ksdiff --merge --output \"$MERGED\" --base \"$BASE\" -- \"$LOCAL\" --snapshot \"$REMOTE\" --snapshot trustExitCode = true [mergetool] prompt = false [merge] conflictstyle = diff3 tool = Kaleidoscope [pull] rebase = true [heroku] account = heroku [push] default = simple