
[color]
    diff = auto
    status = auto
    branch = auto
    interactive = auto
    ui = auto
[alias]
    # Shorten some often used commands
    b = branch
    c = commit
    co = checkout
    com = checkout master
    ss = status
    s = status -s
    ds = diff --staged
    amend = commit --amend -c HEAD
    oops = reset --soft HEAD~1
    kris = pull --rebase
    ignore = !git update-index --assume-unchanged
    unignore = !git update-index --no-assume-unchanged
    ignored = !git ls-files -v | grep "^[[:lower:]]"
    undo = reset --soft HEAD^
    squash = rebase --autostash -i
    megasquash = "!f() { git rebase --autostash -i `git merge-base --fork-point HEAD master`; }; f"

    # various pretty loggers from various places
    l = log --pretty=oneline --abbrev-commit
    lg = log --graph --pretty=format:'%Cred%h%Creset -%C(yellow)%d%Creset %s %Cgreen(%cr)%Creset' --abbrev-commit --date=relative
    lgg = log --graph --pretty=format:'%Creset %s' --abbrev-commit
    lc = log ORIG_HEAD.. --stat --no-merges
    # from http://blog.kfish.org/2010/04/git-lola.html
    lol = log --graph --decorate --pretty=oneline --abbrev-commit
    lola = log --graph --decorate --pretty=oneline --abbrev-commit --all
    ll = log --graph --date=short
[push]
	default = simple
[mergetool "sourcetree"]
	cmd = /Applications/Sourcetree.app/Contents/Resources/opendiff-w.sh \"$LOCAL\" \"$REMOTE\" -ancestor \"$BASE\" -merge \"$MERGED\"
	trustExitCode = true
[diff]
    tool = default-difftool
[difftool "default-difftool"]
    cmd = code --wait --diff $LOCAL $REMOTE
[difftool "sourcetree"]
	cmd = opendiff \"$LOCAL\" \"$REMOTE\"
	path =
[filter "media"]
	clean = git media clean %f
	smudge = git media smudge %f
	required = true

# local user config, usernames, etc
[include]
    path=~/.gitconfig-local
