dotfiles/.gitconfig
2024-04-06 23:43:14 +02:00

151 lines
3.2 KiB
INI

[alias]
b = branch -va
cl = clone --filter=blob:none
co = checkout
d = diff --stat -p -C --color-words
ds = diff --staged --stat -p -C --color-words
dt = difftool
patch = !git --no-pager diff --no-color
pullr = pull --rebase --autostash
sh = show --stat -p -C --color-words --show-signature
st = status -sb
t = tag --sort=-v:refname --format='%(color:bold italic)%(objectname:short)%(color:noitalic) %(refname:short)'
new = !git fetch -u origin main:main && git branchless switch -d origin/main
sl = branchless smartlog
sync = branchless sync
sw = branchless switch
s = branchless switch -i
copr = "!f() { \
pr=$1 \
&& test -n \"$pr\" || pr=`tea pr list -o simple | fzf --bind 'enter:become(echo {+1})'` \
&& git fetch origin refs/pull/$pr/head \
&& git checkout --detach FETCH_HEAD \
;};f"
g = graph -S -m simple -s round
ll = "log --first-parent --topo-order --pretty='format:%x1B[1;2;3;38:2:127:114:88m%h%x1B[38:2:154:234:255m%d%Creset %x1B[3;38:2:194:203:226m%s %x1B[38:2:93:112:164m᠁ %x1B[38:2:74:119:163m%al %x1B[2;38:2:93:112:164m%ah'"
lla = "log --graph --all --topo-order --pretty='format:%x1B[38:2:233:218:190m%h%x1B[38:2:154:234:255m%d%Creset %x1B[1;3;38:2:194:203:226m%s %x1B[38:2:93:112:164m᠁ %x1B[38:2:74:119:163m%al %x1B[2;38:2:93:112:164m%ah'"
guilt = "!f(){ git log --pretty='format:%an <%ae>' $@ | sort | uniq -c | sort -rn; }; f"
serve = daemon --verbose --export-all --base-path=.git --reuseaddr --strict-paths .git/
[apply]
whitespace = nowarn
[blame]
date = relative
[branch "main"]
rebase = true
[branch "master"]
rebase = true
[color]
branch = auto
diff = auto
status = auto
ui = auto
[column]
ui = auto
[core]
compression = 3
excludesfile = "~/.gitignore"
looseCompression = 3
pager = delta
[delta]
; # syntax-theme = GitHub
file-added-label = "   ══"
file-decoration-style=none
file-modified-label = "   ══"
file-removed-label = "   ══"
file-renamed-label = "   ══"
file-style = bold "#ffff66" "#333300"
file-transformation = "s/$/ ══ /"
hunk-header-decoration-style=none
hunk-header-file-style = bold "#66ddff"
hunk-header-line-number-style = bold "#66ccff"
hunk-header-style = line-number bold "#99eeff" "#001133"
hunk-label = " "
hunk-label-style = bold "#66ccff"
line-numbers = true
max-line-distance = 0.9
[http]
cookiefile = /home/dln/.gitcookies
[hub]
protocol = git
[interactive]
diffFilter = delta --color-only --features=interactive
[commit]
gpgsign = true
verbose = true
[credential]
helper = store
[diff]
algorithm = histogram
tool = difft
[difftool]
prompt = false
[difftool "difft"]
cmd = difft --color=always --display inline "$LOCAL" "$REMOTE" | bat
[fetch]
prune = true
prunetags = true
showForcedUpdates = true
[filter "lfs"]
clean = git-lfs clean -- %f
process = git-lfs filter-process
required = true
smudge = git-lfs smudge -- %f
[gpg]
format = ssh
[gpg "ssh"]
allowedSignersFile = ~/.config/git/allowed_signers
defaultKeyCommand = /home/dln/.config/git/signing-key.sh
[init]
defaultBranch = main
[lfs]
concurrenttransfers = 32
[merge]
conflictstyle = zdiff3
[pack]
compression = 3
threads = 0
[push]
default = tracking
[rebase]
autosquash = true
[rerere]
enabled = true
[tag]
sort = -v:refname
[user]
email = dln@arity.se
name = Daniel Lundin
useConfigOnly = true