[core]
    excludesfile = ~/.gitglobalignore
    editor = vim
[user]
    name = Matthew Brett
    email = matthew.brett@gmail.com
    signingkey = F6401040
[alias]
    st = status
    stat = status
    co = checkout
    sw = switch
    lg = log --graph --pretty=format:'%Cred%h%Creset -%C(yellow)%d%Creset %s %Cgreen(%cr) %C(bold blue)[%an]%Creset' --abbrev-commit --date=relative
    slog = log --oneline --graph
    suid = submodule update --init --recursive
    wdiff = diff --color-words
    resetu = reset --hard '@{upstream}'
    fall = fetch --all
    wtadd = !wtadd.sh
    wtremove = !wtremove.sh
    wtclone = !wtclone.sh
    wtlist = !wtlist.sh
    rhup = reset --hard @{upstream}
[color]
    diff = auto
    status = true
    ui = auto
[branch]
    autosetupmerge = true
[merge]
    log = true
    tool = gvimdiff
    conflictstyle = diff3
[mergetool]
    prompt = false
[github]
    user = matthew-brett
[url "git://github.com/"]
    insteadOf = gh:
[url "git@github.com:"]
    pushInsteadOf = gh:
[url "git://github.com/matthew-brett/"]
    insteadOf = mygh:
[url "git@github.com:matthew-brett/"]
    pushInsteadOf = mygh:
[credential]
	helper = osxkeychain
[pull]
    ff = only
[init]
	defaultBranch = main
[hub]
	protocol = https
[http]
    # https://stackoverflow.com/questions/16906161/git-push-hangs-when-pushing-to-github/54831252#54831252
    postBuffer = 524288000
[filter "lfs"]
	clean = git-lfs clean -- %f
	smudge = git-lfs smudge -- %f
	process = git-lfs filter-process
	required = true
[rerere]
	enabled = true
