# 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
dcw = diff --cached --color-words
dcs = diff --cached --stat
g = grep
+ gi = grep --ignore-case
s = status
l = log
ls = log --stat
rs = reset
rsh = reset --hard
rsp = reset --patch
- # Only clean ignored files.
+ rv = revert
cl = clean -ndx
clf = clean -fdx
## Branches.
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 = yes
[merge]
tool = vimdiff
[transfer]
# Automatically fsck objects when receiving them (respected by git
# receive-pack and git fetch (>= 1.7.8, for fetch)).
- fsckobjects = yes
+ fsckObjects = yes
+
+
+# NON-GIT SETTINGS
+
+[annex]
+ # My SSH config already uses ControlMaster where appropriate.
+ sshcaching = false
# vim: ft=gitconfig