Files
config/.gitconfig
T

52 lines
1.6 KiB
INI

[alias]
audit = "!f() { echo '=== Churn ==='; git churn; echo; echo '=== Contributors ==='; git who; echo; echo '=== Bug hotspots ==='; git bugs; echo; echo '=== Monthly pulse ==='; git pulse; echo; echo '=== Firefighting ==='; git firefight; true; }; f"
br = branch
bugs = !git log -i -E --grep=\"fix|bug|broken\" --name-only --format='' | sort | uniq -c | sort -nr | head -20
churn = !git log --format=format: --name-only --since=\"1 year ago\" | sort | uniq -c | sort -nr | head -20
ci = commit -v
co = checkout
dc = diff --cached --word-diff=color
di = diff --word-diff=color
firefight = !git log --oneline --since=\"1 year ago\" | grep -iE 'revert|hotfix|emergency|rollback'
gl = log --decorate --graph --pretty=oneline
glog = log --decorate --graph
pulse = !git log --format='%ad' --date=format:'%Y-%m' | sort | uniq -c
st = status -bs
up = "!git remote update -p; git merge --ff-only @{u}"
who = shortlog -sn --no-merges
[blame]
# cannot set to work optionally.
# ignoreRevsFile = .git-blame-ignore-revs
[color]
ui = auto
[column]
ui = auto
[core]
preloadindex = yes
[diff]
algorithm = histogram
[diff "sqlite3"]
binary = true
textconv = "echo '.dbconfig trusted_schema no\n.dump' | sqlite3"
[init]
defaultBranch = main
[merge]
tool = vimdiff
[pull]
autoSetupRemote = true
rebase = true
[push]
autoSetupRemote = true
default = current
[rerere]
enabled = true
[submodule]
recursive = true
[tag]
sort = version:refname
[user]
useConfigOnly = true
#
[include]
path = ~/.gitconfig.local