]> ruderich.org/simon Gitweb - config/dotfiles.git/blobdiff - gitconfig.in
gitconfig: add ld alias to describe commits
[config/dotfiles.git] / gitconfig.in
index 62e26f1ab01f2b98a122b187f97148cb17a52fb6..9fd76ba7af18af483ad9134f5d91665e96c91999 100644 (file)
@@ -1,6 +1,6 @@
 # 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
        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
        rs  = reset
        rsh = reset --hard
        rsp = reset --patch
+       rv  = revert
+       cl  = clean -ndx
+       clf = clean -fdx
        ## Branches.
        co  = checkout
        b   = branch -a -v
+       br  = branch
        m   = merge
        mo  = merge origin/master
        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
 
 [push]
        # When running git push without a refspec push only the current
-       # branch, see man page git-config(1) for details.
+       # branch, see man page git-config(1) for details. Default since Git
+       # 2.0.
        default = simple
 
 [format]
 [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