[alias]
br = branch
ci = commit
co = checkout
df = diff
lg = "log --color --graph --pretty=format:'%Cred%h%Creset %Cgreen(%ci)%Creset [%G?]%C(yellow)%d%Creset %s %C(bold blue)<%an / %cn>%Creset' --abbrev-commit"
ri = rebase --interactive --autosquash
st = status

[branch]
autosetuprebase = always

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

[commit]
gpgsign = true

[core]
bare = false
excludesfile = ~/.gitignore_global
filemode = true
logallrefupdates = true
pager = less -F -X
repositoryformatversion = 0
warnAmbiguousRefs = false

[credential]
helper = vault

[diff]
renames = true

[filter "jsonfmt"]
clean = jq -S . %f

[filter "lfs"]
process = git-lfs filter-process
required = true
clean = git-lfs clean -- %f
smudge = git-lfs smudge -- %f

[filter "osslvault"]
clean = git-filter-osslvault -f %f clean
smudge = git-filter-osslvault smudge
required = true

[gpg]
format = ssh

[push]
default = upstream
gpgSign = if-asked

[receive]
denyNonFastForwards = true

[rerere]
enabled = true

[safe]
# Don't try this at home: Need to work with mounted repos and
# therefore to disable the directory safety check
directory = *

[gpg.ssh]
allowedSignersFile = ~/.git_allowed_signers

[user]
email = knut@ahlers.me
name = Knut Ahlers
signingkey = ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIGVbYCO34iJikI+nLxpu2zjrvIh92GQqiss3Bkt+CSo4 loki

# Mappings for private repos and `go get`
[url "git@bitbucket.org:"]
insteadOf = https://bitbucket.org/

[url "git@github.com:"]
insteadOf = https://github.com/