[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

[diff]
renames = true

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

[gpg]
program = gpg2

[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 = *

[user]
email = knut@ahlers.me
name = Knut Ahlers
signingkey = D215AD7D

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

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