dotfiles/vcs/git/gitconfig

89 lines
2.7 KiB
Plaintext

[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