[user] email = "christian@rocha.is" name = "Christian Rocha" signingKey = "92B3C5E83E309FE64CB2F833589F6FDD5B820611" [core] editor = "hx" [color] ui = true [alias] ci = "commit" co = "checkout" count = "!git log --pretty=oneline | wc -l | tr -d ' ' | sed 's/$/ commits/'" housekeeping = "!git fsck && git fsck --unreachable && git gc --aggressive --prune && git prune && git prune-packed" lg = "!git lg1" lg1 = "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(bold yellow)%d%C(reset)' --all" lg2 = "log --graph --format=format:'%C(117)%h%C(reset) %s %C(dim white)%ar%C(reset) %C(181)%ae%C(reset) %C(141)%d%C(reset)' --all" lgs = "log --graph --format=format:'%C(117)%h%C(reset) %C(226)%G?%C(reset) %s %C(dim white)%ar%C(reset) %C(181)%ae%C(reset) %C(141)%d%C(reset)' --all" pr = "!gh pr checkout" quickfix = "rebase --interactive HEAD^^" rs = "restore --staged" st = "status" sync = "!git tag -d nightly 2>/dev/null; git fetch --all --tags --prune" branchout = "!f() { repo=$(basename $(git rev-parse --show-toplevel)); git worktree add ~/src/\"$repo\"-\"$1\" -b \"$1\" && cd ~/src/\"$repo\"-\"$1\"; }; f" findbranch = "!f() { branch=$(git branch -a | sed 's/^[* ]*//' | gum filter --header 'Switch to which branch?'); [ -n \"$branch\" ] && git switch \"${branch#remotes/origin/}\"; }; f" worktreecheckout = "!f() { branch=$(git branch -a | sed 's/^[* ]*//' | gum filter --header 'Check out which branch?'); [ -n \"$branch\" ] || return; branch=\"${branch#remotes/origin/}\"; directory=$(printf '%s' \"$branch\" | sed 's/[^[:alnum:]_.-]/-/g'); git worktree add \"../$directory\" \"$branch\"; }; f" wipeout = "!git branch | sed 's/^[*]* *//' | gum choose --no-limit --header 'Wipeout which branches?' | xargs git branch -D" drop-remote-branches = "!f() { git branch -r | sed 's/^[*]* *//' | grep -v 'HEAD ->' | grep -v '/main$' | grep -v '/master$' | gum choose --no-limit --header 'Delete which remote branches?' | while read branch; do remote=$(echo $branch | cut -d/ -f1); name=$(echo $branch | cut -d/ -f2-); git push $remote --delete $name; done; }; f" [url "git@github.com:"] insteadOf = "https://github.com/" [gpg] format = "openpgp" [gpg "openpgp"] program = "gpg" [commit] gpgSign = true [tag] gpgSign = true [filter "lfs"] clean = "git-lfs clean -- %f" process = "git-lfs filter-process" required = true smudge = "git-lfs smudge -- %f"