Files
dotfiles/.config/git/config

170 lines
4.6 KiB
Plaintext

# vim: set ft=gitconfig fdm=indent fdi= fml=0 fdl=0:
[advice]
addIgnoredFile = off
detachedHead = off
[alias]
# NOTE: git-external-script (./external-script.sh) is a small wrapper
# that launches external scripts from the ./scripts/ collection in the
# right directory, as shell commands in git aliases are executed from
# the top-level directory of the repository.
abort = "!git-external-script abort"
autosquash = -c sequence.editor=/bin/true rebase -i --autosquash
autofixup= autosquash
branch-rename = "!git-external-script branch-rename"
c = commit
changes = flog HEAD...FETCH_HEAD
checkout-worktree = "!git-external-script checkout-worktree"
cow = checkout-worktree
co = checkout
commit-last-msg = "!git-external-script commit-last-msg"
continue = "!git-external-script continue"
cont = continue
clm = commit-last-msg
last-msg = commit-last-msg
recommit = commit-last-msg --no-edit
f = fetch
fetch-tags-only = fetch origin "refs/tags/*:refs/tags/*"
ft = fetch-tags-only
filter-repo = !git-filter-repo
fixes = log -1 --pretty=fixes
glog = "!git-external-script glog"
https-and-ssh = "!git-external-script https-and-ssh"
ssh-and-https = https-and-ssh
l = log
last-changed = "!git-external-script last-changed"
ls = ls-files
make-fork = "!git-external-script make-fork"
p = push
perm-stash = "!git-external-script perm-stash"
root = rev-parse --show-toplevel
signoff = rebase --signoff
ss = stash
ssync = "!git-external-script ssync"
submodule-rm = "!git-external-script submodule-rm"
track = "!git-external-script track"
branches = track
[blame]
date = short
[branch]
autosetuprebase = always
sort = -committerdate
[clone]
filterSubmodules = yes
[color "diff"]
# Make all bold colors also bright. See diff_colors in git's diff.c
oldMoved = bold brightmagenta
oldMovedAlternative = bold brightblue
newMoved = bold brightcyan
newMovedAlternative = bold brightyellow
oldBold = bold brightred
newBold = bold brightgreen
[color "decorate"]
# Make all bold colors also bright. See decoration_colors in git's
# log-tree.c
branch = bold brightgreen
remoteBranch = bold brightred
tag = bold brightyellow
stash = bold brightmagenta
HEAD = bold brightcyan
grafted = bold brightblue
[color "grep"]
# Make all bold colors also bright. See GREP_OPT_INIT in git's grep.h
matchContext = bold brightred
matchSelected = bold brightred
[color "interactive"]
# Make all bold colors also bright. See init_add_i_state in git's
# add-interactive.c
help = bold brightred
prompt = bold brightblue
error = bold brightred
[color "remote"]
# Make all bold colors also bright. See keywords in git's sideband.c
warning = bold brightyellow
success = bold brightgreen
error = bold brightred
[color "status"]
added = 076
untracked = 014
[column]
ui = auto,column,dense
[commit]
gpgsign = true
# Add an additional newline, so that I can format the body more easily
# TODO: is there a way to use XDG_CONFIG_HOME?
template = ~/.config/git/message.template
verbose = true
[core]
abbrev = 12
#pager = delta
pager = diff-so-fancy | less --tabs=8 --RAW-CONTROL-CHARS
whitespace = trailing-spaces,space-before-tab,indent-with-non-tab
[delta]
navigate = true
commit-decoration-style = bold yellow box
file-style = bold yellow ul
file-decoration-style = none
hunk-header-decoration-style =
[diff]
# Color moved lines differently
colorMoved = default
colorMovedWS = ignore-all-space
# No rename limit, propagates to merge. and status.renameLimit too
renameLimit = 0
submodule = log
tool = nvimdiff
[difftool "meld"]
path = /usr/bin/meld
[fetch]
output = compact
prune = true
pruneTags = false
parallel = 0
[gpg]
program = gpg.loopback
[init]
defaultBranch = main
[interactive]
#diffFilter = delta --color-only
# Might need a `sudo cpan Term::ReadKey`
singleKey = true
[log]
follow = true
# Make all colors bold and additionally use bright versions of
# previously bold-only colors. See column_colors_ansi in git's color.c
# used by graph.c
graphColors = bold red,bold green,bold yellow,bold blue,bold magenta,bold cyan,bold brightred,bold brightgreen,bold brightyellow,bold brightblue,bold brightmagenta,bold brightcyan
# Show all refs as decoration (e.g. also notes)
initialDecorationSet = all
[merge]
conflictstyle = diff3
log = true
suppressDest = *
[pretty]
fixes = Fixes: %h (\"%s\")
[pull]
ff = yes
rebase = true
[push]
default = current
[rebase]
autostash = true
[rerere]
enabled = false
[status]
submodulesummary = true
[submodule]
fetchJobs = 0
[trailer]
where = end
[user]
email = julian@druck.dev
name = Julian Prein
signingkey = C0A44F69F2E29F6586C86B96CA6B3A516FAC2555
[include]
path = user.config