# Global Git configuration file.
-# Copyright (C) 2011-2013 Simon Ruderich
+# Copyright (C) 2011-2015 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
# Hunk header.
frag = magenta bold
# Function in hunk header.
- function = magenta bold
+ func = blue bold
# Removed lines.
old = red bold
# Added lines.
# Commit headers.
commit = cyan
+# GNU grep-like colors.
+[color "grep"]
+ filename = magenta
+ linenumber = green
+
[core]
editor = vim
# Global gitattributes file. Thanks to canton7 in #git on Freenode
c = commit --verbose
ca = commit --verbose --amend
cad = commit --verbose --amend --date=
- d = diff --patience
- dw = diff --patience --color-words
- dc = diff --patience --cached
- dcw = diff --patience --cached --color-words
+ d = diff
+ dw = diff --color-words
ds = diff --stat
+ dc = diff --cached
+ dcw = diff --cached --color-words
+ dcs = diff --cached --stat
+ g = grep
s = status
l = log
ls = log --stat
- lp = log --patch --patience
- lpw = log --patch --patience --color-words
+ lp = log --patch
+ lpw = log --patch --color-words
a = add
ap = add --patch
au = add --update
+ rs = reset
+ rsh = reset --hard
+ rsp = reset --patch
## Branches.
co = checkout
b = branch -a -v
m = merge
mo = merge origin/master
+ re = rebase
+ rei = rebase --interactive
+ rec = rebase --continue
## Remote.
f = fetch
t = tag
ss = stash save
ssk = stash save --keep-index
ssu = stash save --include-untracked
- sa = stash apply
- sp = stash pop
+ sa = stash apply --index
+ sp = stash pop --index
## Custom commands.
#
# Detect copies and renames.
renames = copy
+ # Diff algorithm to use.
+ algorithm = histogram
+
# 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
# changes to non-word characters are shown character wise (e.g. from
# "==" to "!=" as "[-=-]{+!+}="); [-..-] is removal, {+..+} is
# addition. See t/ for some tests and examples.
- wordregex = [a-zA-Z0-9_]+|[^a-zA-Z0-9_]
+ wordRegex = [a-zA-Z0-9_]+|[^a-zA-Z0-9_]
# Allow diffing of some binary files.
#
-# `pdftotext-` is a wrapper around pdftotext which writes to stdout.
-# `sqlite3dump` is a wrapper calling `sqlite3 database-file .dump`.
+# "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.
[diff "gzip"]
textconv = gzip -d -c
[diff "pdf"]
- textconv = PWD/bin/pdftotext-
+ textconv = sh -c 'exec pdftotext "$@" -' -
[diff "sqlite"]
- textconv = PWD/bin/sqlite3dump
+ textconv = sh -c 'exec sqlite3 "$@" .dump' -
+
+[log]
+ # Display branches/tag names in log (same as log's --decorate option).
+ decorate = short
[merge]
tool = vimdiff
+ # Merge upstream branch if `git merge` is called without arguments.
+ defaultToUpstream = yes
+
[push]
# When running git push without a refspec push only the current
# branch, see man page git-config(1) for details.