[alias]

    # list aliases
    aliases = !git config --get-regexp 'alias.*' | colrm 1 6 | sed 's/[ ]/ = /' | sort
    bdm = "!git branch --merged | grep -v '*' | xargs -n 1 git branch -d"
    lg = log --graph --pretty=tformat:'%Cred%h%Creset -%C(auto)%d%Creset %s %Cgreen(%an %ar)%Creset'
    lg2 = log --graph --abbrev-commit --decorate --format=format:'%C(bold blue)%h%C(reset) - %C(bold cyan)%aD%C(reset) %C(bold green)(%ar)%C(reset)%C(bold yellow)%d%C(reset)%n' %C(white)%s%C(reset) %C(dim white)- %an%C(reset)' --all
    lastchange = log -p --follow -n 1
    plog = log --graph --pretty='format:%C(red)%d%C(reset) %C(yellow)%h%C(reset) %ar %C(green)%aN%C(reset) %s'
    rank = shortlog -sn --no-merges
    st = status -sb
    tlog = log --stat --since='1 Day Ago' --graph --pretty=oneline --abbrev-commit --date=relative

[apply]

    # Detect whitespace errors when applying a patch
    whitespace = fix

[filter "lfs"]

    # git-lfs stuff
    clean = git-lfs clean %f
    smudge = git-lfs smudge %f
    required = true

[gpg]

    # Use OpenSSH to sign commits/tags/etc
    format = ssh

[gpg "ssh"]
    allowedSignersFile = ~/.ssh/allowed_signers

[help]

    # Automatically correct typos in commands
    autoCorrect = prompt

[core]
    pager = delta

[interactive]
    diffFilter = delta --color-only

[delta]
    navigate = true  # use n and N to move between diff sections

[merge]
    conflictstyle = zdiff3

[diff]
    algorithm = histogram
    colorMoved = default

[init]
    defaultBranch = main
