Files
dotfiles/.config/git/config
2025-08-29 23:03:13 +02:00

114 lines
3.1 KiB
Plaintext

# better? defaults
[help]
autocorrect = prompt
[init]
defaultBranch = main
[column]
ui = auto
[branch]
sort = -committerdate
[tag]
sort = version:refname
[status]
branch = true
short = true
showStash = true
showUntrackedFiles = all
submoduleSummary = true
[log]
date = iso
[fetch]
prune = true
pruneTags = true
[push]
autoSetupRemote = true
followTags = true
recurseSubmodules = on-demand
[pull]
rebase = true
[rerere]
enabled = true
autoupdate = true
[gc]
reflogExpire = 200
reflogExpireUnreachable = 90
[commit]
verbose = true
gpgsign = true
template = ~/.config/git/template
[rebase]
autoSquash = true
autoStash = true
updateRefs = true
# my setup
[core]
editor = vim
pager = PAGER=less delta
whitespace = -trailing-space,-space-before-tab
compression = 9 # trade cpu for network
[alias]
commit--interactive= !clear && git status && git commit --interactive
diff-dirs = diff --dirstat --find-copies --find-renames --histogram --color
notes-json = !git notes | njs -p '$.stdin.lines().map(l=> l.split(\" \")).map(([ id_note, id_commit ])=> ({id_commit, id_note, head: s.$().run`git show ${id_note}`.head().toString().split(\"\\n\")}))' 'o=> JSON.stringify(o, null, \"\t\")'
submodule-update-merge = submodule update --remote --merge
symbolic-ref-defaultBranch = !git symbolic-ref refs/remotes/origin/HEAD | cut -d'/' -f4-
tag-l = tag -l --sort=-creatordate --format='%(refname:short): [%(creatordate:short)] %(subject)'
h-branches = !echo 'brv (git-extras)'
h-format-htma = !echo '%Cred%h%Creset %Cgreen[%ad] -%C(yellow)%d%Creset %s %C(bold blue)<%an>%Creset'
h-unstage = !echo reset HEAD --
h-undoall = !echo reset --soft HEAD^
h-submodule-delete = !echo 'delete-submodule (git-extras)'
[diff]
wsErrorHighlight = all
tool = vimdiff
submodule = log
algorithm = histogram
# https://git-scm.com/docs/git-diff#Documentation/git-diff.txt-code--color-movedltmodegtcode
colorMoved = dimmed-zebra
mnemonicPrefix = true
renames = true
[interactive]
diffFilter = delta --color-only
[merge]
tool = vimdiff
conflictstyle = zdiff3
[delta] # [dandavison/delta: A syntax-highlighting pager for git, diff, and grep output](https://github.com/dandavison/delta)
syntax-theme= Visual Studio Dark+
dark = true
navigate = true
side-by-side = true
line-numbers = true
[filter "lfs"]
required = true
clean = git-lfs clean -- %f
smudge = git-lfs smudge -- %f
process = git-lfs filter-process
[diff "exif"]
textconv = exiftool
[difftool "kommitdiff"]
cmd = kommitdiff \"$LOCAL\" \"$REMOTE\"
[mergetool "kommitmerge"]
cmd = kommitmerge \"$BASE\" \"$LOCAL\" \"$REMOTE\" \"$MERGED\"
trustExitCode = true
[maintenance]
repo = /home/jaandrle/Vzdálené/GitHub/dcp-fe-container-certifedpassport
repo = /home/jaandrle/Vzdálené/GitHub/DHLC-Internet-Networking-old
repo = /home/jaandrle/Vzdálené/GitHub/DGF-Certified-Supervisory-Academy
[submodule]
recurse = true
[format]
coverLetter = auto
compactSummary = true
minimal = true
signOff = true
outputDirectory = .patches
thread = shallow
numbered = auto
[am]
# keepcr = true # to preserve line endings
threeWay = true
[include]
path = ./identities/current.conf