[user] email = doy@tozt.net name = Jesse Luehrs [alias] a = !git amend 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 = !git add -p && git commit --amend bd = "!f() { git choose-branch | head -n1 | xargs --no-run-if-empty git branch -D; }; f" 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))' choose-branch = "!f() { git for-each-ref --sort=-committerdate refs/heads/ --format='%(refname:short)' | sk --height 40% --no-sort --preview='git show {} -q --format=medium'; }; f" c = "!f() { git choose-branch | head -n1 | xargs --no-run-if-empty git co; }; f" 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" imerge = !~/.bin/git/git-imerge info = remote show -n origin 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 m = "!f() { git co $(git default-branch) && git pull && EDITOR=true git merge --no-ff \"$@\" && git bda; }; f" pr = !~/.bin/git/git-pr prune-all = !git remote | xargs -n 1 git remote prune pushall = "!f() { for repo in origin github; do git push $repo \"$@\"; done; }; f" record = !git add -p && git commit --verbose refix = "!f() { env EDITOR=true git rebase -i \"$@\"; }; f" re = rebase -i @{u} r = !git record ri = rebase -i rv = checkout -p stashed = stash list --pretty=format:'%<(10)%gd: %Cred%h%Creset %Cgreen(%ar)%Creset%n %s' 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 @); git branch --set-upstream-to=origin/$name $name; }; f" [github] user = doy [color] ui = auto [core] excludesfile = ~/.config/git/ignore pager = delta [push] default = current [branch] autosetuprebase = always [merge] conflictstyle = diff3 [rebase] autosquash = true autostash = true [help] autocorrect = 5 [diff] mnemonicprefix = true external = difft [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 ; vim:ft=gitconfig: