[branch]
# always make new branches rebase on their tracking branch
autosetuprebase = always
+[commit]
+ # show diff in commit message editor
+ verbose = true
[diff]
# use (i)ndex, (w)orktree, (c)ommit, etc instead of a/ and b/
mnemonicprefix = true
renames = copies
# use different color for moved code (default == zebra, currently)
colorMoved = default
+ # use vimdiff as difftool
+ tool = vimdiff
+[difftool]
+ # do not prompt before invoking difftool
+ prompt = false
[fetch]
# delete tracking references and info about remote branches
# does not delete any branches
[grep]
# show linenumber (-n)
lineNumber = true
+[log]
+ # show short commit sha
+ abbrevCommit = true
+ # show short ref names but only in terminal
+ decorate = auto
[merge]
# only do fastforward merges
ff = only
+ # use vimdiff as mergetool
+ tool = vimdiff
+[pretty]
+ longline = %C(auto)%h %<(52,trunc)%s (%aN, %GS %G?, %cr) %d
+ longlines = %C(auto)%h %<(52,trunc)%s (%aN, %GS %G?, %cr) %d %n%-w(0,8,8)%+b%-
[push]
# push to branch with same name on remote
default = current
+ # also push reachable annotated tags
+ followTags = true
[pull]
# rebase, don’t merge, local changes
rebase = true
cpc = cherry-pick --continue
c = commit
+ ca = commit --all
cm = commit --message
cma = commit --all --message
cmv = commit --verbose
cmav = commit --all --verbose
- amend = commit --amend
- ca = commit --amend
- cam = commit --amend --message
- can = commit --amend --no-edit
- caa = commit --amend --all
- cana = commit --amend --all --no-edit
fix = commit --all --fixup
diff = diff --word-diff
lll = log --graph --topo-order --date=iso8601-strict --no-abbrev-commit --abbrev=40 --decorate --all --boundary --pretty=format:'%Cgreen%ad %Cred%h%Creset -%C(yellow)%d%Creset %s %Cblue[%cn <%ce>]%Creset %Cblue%G?%Creset'
lc = "!f() { git ll "$1"^.."$1"; }; f"
lnc = log --pretty=format:"%h\\ %s\\ [%cn]"
+ lo = log --oneline
lp = log --patch
fl = log -u
filelog = log -u
wl = worktree list
- serve = !git daemon --reuseaddr --verbose --base-path=. --export-all ./.git
+ serve = daemon --reuseaddr --verbose --base-path=. --export-all ./.git