[user] email = doy@tozt.net name = Jesse Luehrs [alias] aliases = !git config --get-regexp 'alias.*' | perl -nle'/^alias\\.([^ ]*) (.*)/ && printf \"%-15s = %s\\n\", $1, $2' alias = "!f() { local name=$1; shift; git config --global alias.$name \"$*\"; }; f" amend = !~/.bin/git/git-amend bda = "!f() { git branch --merged $(git default-branch) --format='%(refname:short)' | grep -v \"^$(git default-branch)$\" | xargs -r git branch -d; }; f" blame-stats = !~/.bin/git/git-blame-stats br = for-each-ref --sort=committerdate refs/heads/ --format='%(align:30,left)%(HEAD) %(refname:short)%(end) %(color:magenta)(%(committerdate:relative))' cc = cherry-pick co = checkout default-branch = !~/.bin/git/git-default-branch diff-branch = "!f() { local branch=${1:-HEAD}; git diff $(git merge-base $(git default-branch) $branch) $branch; }; f" ff = merge --ff-only file-size = !~/.bin/git/git-file-size fixup = "!f() { git record --fixup \"$@\"; }; f" gc-aggressive = "!f() { git repack -Abd --window=250 --depth=250 --window-memory=1g && git prune --expire \"1 day ago\" && rm -f .git/gc.log && git gc; }; f" lg = log --graph --pretty=format:'%Cred%h%Creset%C(yellow)%d%Creset %C(bold blue)%aN%Creset %C(magenta)(%ar)%Creset%n%s%n' --abbrev-commit --date=relative --stat=72 pr = !~/.bin/git/git-pr record = !~/.bin/git/git-record refix = "!f() { env EDITOR=true git rebase -i \"$@\"; }; f" re = rebase -i @{u} ri = rebase -i root = !~/.bin/git/git-root rv = checkout -p st = status -sb start = "!f() { git commit --allow-empty -m 'initial commit' && git add . && git commit -m 'project skeleton'; }; f" track = "!f() { local name=$(git name-rev --name-only --exclude='branchless/*' @); git branch --set-upstream-to=origin/$name $name; }; f" git = !git [github] user = doy [core] pager = delta [merge] conflictstyle = zdiff3 [rebase] autosquash = true autostash = true [help] autocorrect = 5 [diff] mnemonicprefix = true algorithm = histogram [advice] pushUpdateRejected = false statusHints = false commitBeforeMerge = false resolveConflict = false detachedHead = false [rerere] enabled = true [fetch] prune = true [pull] rebase = true [include] path = config.private [interactive] diffFilter = delta --color-only [delta] navigate = true [init] defaultBranch = main [submodule] recurse = true [push] autosetupremote = true recurseSubmodules = check [commit] verbose = true ; vim:ft=gitconfig: