# Global Git configuration file.
-# Copyright (C) 2011-2015 Simon Ruderich
+# Copyright (C) 2011-2017 Simon Ruderich
#
# This file is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# Commit headers.
commit = cyan
-# GNU grep-like colors.
[color "grep"]
+ # GNU grep-like colors.
filename = magenta
linenumber = green
# (2011-11-09 13:23 CET).
attributesfile = PWD/gitattributes
-# Use pager for the following commands.
[pager]
- status = yes
- tag = yes
+ # Use pager for the following commands.
+ status = true
+ tag = true
[interactive]
# Don't require <Return> in interactive commands which require only a
# single key, for example `git add --patch`. Requires Perl module
# Term::Readkey.
- singlekey = yes
+ singlekey = true
[alias]
## Shortcuts for often used commands.
ls = log --stat
lp = log --patch
lpw = log --patch --color-words
+ ld = show --date=short -s --pretty='format:%h (\"%s\", %ad)' # describe
a = add
ap = add --patch
au = add --update
re = rebase
rei = rebase --interactive
rec = rebase --continue
+ cp = cherry-pick
+ ## Submodules.
+ sm = submodule
## Remote.
f = fetch
t = tag
# Diff algorithm to use.
algorithm = histogram
+ # Highlight moved code in a different color.
+ colorMoved = zebra
+
+ # Replace "a/" and "b/" prefix in diffs with characters describing the
+ # context (e.g. "i/"ndex and "w/"ork tree).
+ mnemonicprefix = true
+
# Change the definition of a word as used by diff --color-words to be
# shorter (not only spaces) and thus simplify the generated diffs.
# Words ([a-zA-Z0-9_]+) are matched, or a single non-word character
# Allow diffing of some binary files.
#
-# "sh -c '..' -" is used when the programs require additional arguments. The
-# last "-" is argv[0] which is passed to sh, the real arguments are passed
-# after "-" by git.
+# "sh -c '..' ARGV0" is used when the programs require additional arguments
+# which are passed after ARGV0 by git.
[diff "gzip"]
textconv = gzip -d -c
[diff "pdf"]
- textconv = sh -c 'exec pdftotext "$@" -' -
+ textconv = sh -c 'exec pdftotext "$@" -' ARGV0
[diff "sqlite"]
- textconv = sh -c 'exec sqlite3 "$@" .dump' -
+ textconv = sh -c 'exec sqlite3 "$@" .dump' ARGV0
[log]
# Display branches/tag names in log (same as log's --decorate option).
decorate = short
+ # If a single file is given to `git log`, automatically use --follow.
+ follow = true
[merge]
tool = vimdiff
# Merge upstream branch if `git merge` is called without arguments.
- defaultToUpstream = yes
+ defaultToUpstream = true
+
+[rebase]
+ # Use single-letter command names in git rebase -i which are faster to
+ # change.
+ abbreviateCommands = true
[push]
# When running git push without a refspec push only the current
[transfer]
# Automatically fsck objects when receiving them (respected by git
# receive-pack and git fetch (>= 1.7.8, for fetch)).
- fsckObjects = yes
+ fsckObjects = true
+
+[advice]
+ # Disable annoying advice messages.
+ waitingForEditor = false
+
+
+# NON-GIT SETTINGS
+
+[annex]
+ # My SSH config already uses ControlMaster where appropriate.
+ sshcaching = false
# vim: ft=gitconfig