[user]
    email = tom@chillidonut.com
    name = Tom McKenzie
    signingkey = 896D4BE5

[color]
    branch = auto
    diff = auto
    status = auto

[color "branch"]
    current = yellow reverse
    local = yellow
    remote = green

[color "diff"]
    meta = yellow bold
    frag = magenta bold
    old = red
    new = cyan

[color "status"]
    added = yellow
    changed = green
    untracked = cyan

[help]
    autocorrect = 10


[merge]
    tool = vscode
[mergetool "vscode"]
    cmd = code --wait --diff $LOCAL $REMOTE

[diff]
    tool = vscode
[difftool "vscode"]
    cmd = code --wait --diff $LOCAL $REMOTE

[alias]
    p = push
    pp = publish
    rb = pull --rebase
    rbc = rebase --continue
    rba = rebase --abort
    fancy-log = log --graph --pretty=format:'%Cred%h%Creset -%C(yellow)%d%Creset %s %Cgreen(%cr) %C(cyan)<%an>%Creset' --abbrev-commit --date=relative
    branches = for-each-ref --count=10 --sort='-authordate:iso8601' --format=' %(color:green)%(authordate:relative) %09%(color:white)%(objectname:short) %(color:yellow)%(refname:short) %09%(color:white)%(upstream:track) %(contents:subject)' refs/heads --no-merged
    edit-conflicted = ! git diff --name-only | uniq | xargs $(echo $EDITOR)
    history = log -p --
	pushf = push --force-with-lease
    pullall = ! git pull && git submodule update --init --recursive --remote
    publish = ! git push -u origin `git rev-parse --abbrev-ref HEAD`
    diverged = ! git log --graph --date=relative --oneline `git rev-parse --abbrev-ref HEAD` origin/`git rev-parse --abbrev-ref HEAD`
    fixup = "!f() { TARGET=$(git rev-parse "$1"); git commit --fixup=$TARGET ${@:2} && EDITOR=true git rebase -i --autostash --autosquash $TARGET^; }; f"
    last = rev-list -1 HEAD
[core]
	excludesfile = /Users/tom/.gitignore_global
	whitespace = tab-in-indent,trailing-space,space-before-tab
	ignorecase = false
	editor = vim -c 'startinsert'

[merge]
	tool = code
#       conflictstyle = diff3

[push]
	default = upstream
[status]
	submoduleSummary = true
[merge "npm-merge-driver"]
	name = automatically merge npm lockfiles
	driver = npx npm-merge-driver merge %A %O %B %P
# [pull]
#	rebase = preserve
[pull]
	ff = only
[advice]
	detachedHead = false
[filter "lfs"]
	clean = git-lfs clean -- %f
	smudge = git-lfs smudge -- %f
	process = git-lfs filter-process
	required = true
