[core]
excludesfile = "~/.gitignore"
pager = delta --line-numbers
	compression = 0
	looseCompression = 0

[user]
useConfigOnly = true

[column]
ui = auto

[push]
default = tracking

[branch "main"]
rebase = true

[branch "master"]
rebase = true

[alias]
b = branch -va
cl = clone --filter=blob:none
d = diff --stat -p -C
ds = diff --staged --stat -p -C
du = !"git --no-pager diff --stat -p -C --color=always"
patch = !git --no-pager diff --no-color
co = checkout
st = status -sb
pullr = pull --rebase
wc = whatchanged --abbrev-commit --date=relative --date-order --pretty='format:%Cgreen%h %Cblue%ar %Credby %an%Creset -- %s' -n 45
f = fuzzy status
fd = fuzzy diff
fl = fuzzy log
fs = fuzzy status

ll = log --graph --date=relative --topo-order --pretty='format:%C(yellow)%h%C(yellow)%d %Cblue%ar %Cgreenby %an%Creset -- %s'
lla = log --graph --date=relative --topo-order --pretty='format:%Cgreen%h %Cblue%ar %Credby %an%Creset -- %s' --all
gl = log --decorate --graph --abbrev-commit --color --color-words --topo-order --pretty=medium 
gla = log --decorate --graph --abbrev-commit --color --color-words --topo-order --pretty=medium --all
sl = log --decorate --graph --abbrev-commit --color --topo-order --pretty=oneline
sla = log --decorate --graph --abbrev-commit --color --topo-order --pretty=oneline --all
#lg = log --graph --pretty=format:'%Cred%h%Creset -%C(yellow)%d%Creset %s %Cgreen(%cr)%Creset' --abbrev-commit --date=relative
plog = !GIT_PAGER='less -n +/^commit\\ \\[0-9a-f\\]+' git log --color --patch-with-stat
lg = !"git lg1"
lg1 = !"git lg1-specific --all"
lg2 = !"git lg2-specific --all"
lg3 = !"git lg3-specific --all"

lg1-specific = log --graph --abbrev-commit --decorate --format=format:'%C(bold blue)%h%C(reset) - %C(bold green)(%ar)%C(reset) %C(white)%s%C(reset) %C(dim white)- %an%C(reset)%C(auto)%d%C(reset)'
lg2-specific = 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(auto)%d%C(reset)%n''          %C(white)%s%C(reset) %C(dim white)- %an%C(reset)'
lg3-specific = 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 cyan)(committed: %cD)%C(reset) %C(auto)%d%C(reset)%n''          %C(white)%s%C(reset)%n''          %C(dim white)- %an <%ae> %C(reset) %C(dim white)(committer: %cn <%ce>)%C(reset)'

cdiff = diff --color
diffs = diff --staged --stat -p
diffc = diff --staged --stat -p
vimdiff = difftool -t vimdiff

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/

identity = "! git config user.name \"$(git config user.$1.name)\"; git config user.email \"$(git config user.$1.email)\"; git config user.signingkey \"$(git config user.$1.signingkey)\"; :"
[color]
ui = auto
branch = auto
diff = auto
status = auto

[apply]
whitespace = nowarn

[pack]
threads = 0

[blame]
date = relative

[delta]
plus-color = "#012800"
minus-color = "#340001"
syntax-theme = GitHub
hunk-header-style = line-number syntax

[hub]
protocol = git

[http]
cookiefile = /home/dln/.gitcookies

[interactive]
diffFilter = delta --color-only

[credential]
helper = store

[commit]
# gpgsign = true

[user]
name = Daniel Lundin
email = daniel@arity.se
signingkey = 79020DB026385D4C

[init]
defaultBranch = main

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