3 email = gitcommit@henk.geekmail.org
4 signingKey = 0x1B7EADFDDF720123
7 # always make new branches rebase on their tracking branch
8 autosetuprebase = always
10 # show diff in commit message editor
13 # complain about tabs used for indenting
14 # commented because I switched to tabs
15 # and yaml can’t use tabs
16 # so either variant will complain
17 # whitespace = tab-in-indent
19 # use (i)ndex, (w)orktree, (c)ommit, etc instead of a/ and b/
21 # detect renames and copies
23 # use different color for moved code (default == zebra, currently)
25 # use vimdiff as difftool
28 # do not prompt before invoking difftool
31 # delete tracking references and info about remote branches
32 # does not delete any branches
35 # show a lot of info by default
38 # show linenumber (-n)
43 # show short commit sha
45 # show short ref names but only in terminal
48 # use vimdiff as mergetool
51 compact = %C(auto)%h%Cgreen% cs%Cblue%<(15,trunc)% an%C(auto)%d%Creset% s
53 # push to branch with same name on remote
55 # also push reachable annotated tags
58 # rebase, don’t merge, local changes
60 # only accept fastforwards by default
63 # when in a dirty worktree, automatically create a stash before and apply after rebasing
65 # automatically squash marked commits (squash! …, fixup! …)
68 # don’t use rerere to resolve merge conflicts
74 ai = add --interactive
81 brav = branch --all --verbose --verbose
86 cpa = cherry-pick --abort
87 cpc = cherry-pick --continue
92 cam = commit --all --message
93 fix = commit --all --fixup
97 dlc = diff --cached HEAD^
99 dr = "!f() { git diff -w "$1"^.."$1"; }; f"
100 diffr = "!f() { git diff "$1"^.."$1"; }; f"
103 f = "!git ls-files | grep -i"
107 gra = "!sh -c 'git grep "$0" "$@" "$(git for-each-ref --format=\"%(refname)\"" refs/)'"
112 la = log --graph --all
113 lap = log --graph --all --patch
117 taglog = "log --tags --simplify-by-decoration --pretty='format:%ci %d'"
123 please = push --force-with-lease
129 frbp = "!f() { git fetch; git rebase "$1"; git push --force-with-lease; }; f"
132 rbc = rebase --continue
133 rbi = rebase --interactive
134 rbm = "!f() { git switch "$1" && git rebase - && git switch - && git merge -; }; f"
140 rh1 = reset --hard HEAD^
141 rh2 = reset --hard HEAD^^
153 swc = switch --create
156 sba = "!f() { git subtree add --prefix $2 $1 master --squash; }; f"
157 # update/pull subtree
158 sbu = "!f() { git subtree pull --prefix $2 $1 master --squash; }; f"
160 # initial empty commit
161 empty = "!git commit -am\"[empty] Initial commit\" --allow-empty"
165 serve = daemon --reuseaddr --verbose --base-path=. --export-all ./.git