ls = log --stat
lp = log --patch
lpw = log --patch --color-words
- ld = show --date=short --no-patch --pretty='format:%h (\"%s\", %ad)' # describe
+ ld = show --no-patch --date=short --pretty='format:%h (%s, %ad)' # describe, same as --pretty=reference
a = add
ap = add --patch
au = add --update
f = fetch
t = tag
p = push
+ pf = push --force-with-lease
# Parallel git remote update. Also strips unnecessary output.
ru = "! git remote \
| xargs -d '\\n' -n1 -P0 git remote update 2>&1 \
# Highlight moved code in a different color.
colorMoved = zebra
+ # Highlight whitespace errors (at the end of the line) in all lines of
+ # a diff; the default shows them only in new lines
+ wsErrorHighlight = old,new,context
+
# Replace "a/" and "b/" prefix in diffs with characters describing the
# context (e.g. "i/"ndex and "w/"ork tree).
mnemonicprefix = true
# Don't create .git/hooks with any sample hooks. Reduces the clutter
# in new git repositories.
templateDir =
+ # Keep the default branch name
+ defaultBranch = master
+
+[tag]
+ # Sort tags as version numbers
+ sort = version:refname
+
+[safe]
+ # Ignore embedded bare repositories to prevent executing arbitrary
+ # commands from untrusted repositories
+ bareRepository = explicit
# NON-GIT SETTINGS
[annex]
# My SSH config already uses ControlMaster where appropriate.
sshcaching = false
+ # Don't upgrade repositories automatically
+ autoupgraderepository = false
+ # Force `git add` to add to git, never to annex
+ gitaddtoannex = false
+ # Consider dotfiles to be `git annex add`able; restrictions of
+ # annex.largefiles (if set) are still applied
+ dotfiles = true
# vim: ft=gitconfig