dotfiles/gitconfig

65 lines
1.8 KiB
Text

[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"
default-branch = "!git symbolic-ref refs/remotes/origin/HEAD | cut -d'/' -f4"
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
[pull]
ff = only
[core]
pager = delta --side-by-side --width ${FZF_PREVIEW_COLUMNS-$COLUMNS}
[interactive]
diffFilter = delta --color-only
[delta]
# use n and N to move between diff sections
navigate = true
side-by-side = true
hyperlinks = true
hyperlinks-file-link-format = "idea://open?file={path}&line={line}"
[merge]
conflictstyle = zdiff3
[diff]
algorithm = histogram
colorMoved = default
[tar "tar.xz"]
command = xz -c
[tar "tar.zst"]
command = zstd -T0 -c
[init]
defaultBranch = main