aboutsummaryrefslogtreecommitdiffstats
path: root/.gitconfig
diff options
context:
space:
mode:
authorMathias Bynens <mathias@qiwi.be>2014-06-07 15:59:44 +0200
committerMathias Bynens <mathias@qiwi.be>2014-06-07 15:59:44 +0200
commit3b4eb3efb692aa4d19a1e2c30c2ed9a65e9c7d8c (patch)
treeaa8ed43008a0de86082b679d3912ac6be5fffcd9 /.gitconfig
parente0308459473e424701166a65fadced5e1ea2702f (diff)
downloaddotfiles-3b4eb3efb692aa4d19a1e2c30c2ed9a65e9c7d8c.tar.gz
dotfiles-3b4eb3efb692aa4d19a1e2c30c2ed9a65e9c7d8c.tar.bz2
dotfiles-3b4eb3efb692aa4d19a1e2c30c2ed9a65e9c7d8c.zip
Remove some things that I don’t use
This commit drops some aliases, functions, and settings from the project that I wasn’t using at all. It also cleans up some of the remaining code.
Diffstat (limited to '.gitconfig')
-rw-r--r--.gitconfig38
1 files changed, 38 insertions, 0 deletions
diff --git a/.gitconfig b/.gitconfig
index a586fd0..e19fcd5 100644
--- a/.gitconfig
+++ b/.gitconfig
@@ -1,90 +1,128 @@
[alias]
+
# View abbreviated SHA, description, and history graph of the latest 20 commits
l = log --pretty=oneline -n 20 --graph --abbrev-commit
+
# View the current working tree status using the short format
s = status -s
+
# Show the diff between the latest commit and the current state
d = !"git diff-index --quiet HEAD -- || clear; git --no-pager diff --patch-with-stat"
+
# `git di $number` shows the diff between the state `$number` revisions ago and the current state
di = !"d() { git diff --patch-with-stat HEAD~$1; }; git diff-index --quiet HEAD -- || clear; d"
+
# Pull in remote changes for the current repository and all its submodules
p = !"git pull; git submodule foreach git pull origin master"
+
# Clone a repository including all submodules
c = clone --recursive
+
# Commit all changes
ca = !git add -A && git commit -av
+
# Switch to a branch, creating it if necessary
go = "!f() { git checkout -b \"$1\" 2> /dev/null || git checkout \"$1\"; }; f"
+
# Show verbose output about tags, branches or remotes
tags = tag -l
branches = branch -a
remotes = remote -v
+
# Credit an author on the latest commit
credit = "!f() { git commit --amend --author \"$1 <$2>\" -C HEAD; }; f"
+
# Interactive rebase with the given number of latest commits
reb = "!r() { git rebase -i HEAD~$1; }; r"
+
# Find branches containing commit
fb = "!f() { git branch -a --contains $1; }; f"
+
# Find tags containing commit
ft = "!f() { git describe --always --contains $1; }; f"
+
# Find commits by source code
fc = "!f() { git log --pretty=format:'%C(yellow)%h %Cblue%ad %Creset%s%Cgreen [%cn] %Cred%d' --decorate --date=short -S$1; }; f"
+
# Find commits by commit message
fm = "!f() { git log --pretty=format:'%C(yellow)%h %Cblue%ad %Creset%s%Cgreen [%cn] %Cred%d' --decorate --date=short --grep=$1; }; f"
+
# Remove branches that have already been merged with master
dm = "!git branch --merged | grep -v '\\*' | xargs -n 1 git branch -d"
[apply]
+
# Detect whitespace errors when applying a patch
whitespace = fix
[core]
+
# Use custom `.gitignore` and `.gitattributes`
excludesfile = ~/.gitignore
attributesfile = ~/.gitattributes
+
# Treat spaces before tabs and all kinds of trailing whitespace as an error.
# [default] trailing-space: looks for spaces at the end of a line
# [default] space-before-tab: looks for spaces before tabs at the beginning of
# a line
whitespace = space-before-tab,-indent-with-non-tab,trailing-space
+
# Make `git rebase` safer on OS X
# More info: <http://www.git-tower.com/blog/make-git-rebase-safe-on-osx/>
trustctime = false
[color]
+
# Use colors in Git commands that are capable of colored output when
# outputting to the terminal. (This is the default setting in Git ≥ 1.8.4.)
ui = auto
+
[color "branch"]
+
current = yellow reverse
local = yellow
remote = green
+
[color "diff"]
+
meta = yellow bold
frag = magenta bold
old = red bold
new = green bold
+
[color "status"]
+
added = yellow
changed = green
untracked = cyan
+
[merge]
+
# Include summaries of merged commits in newly created merge commit messages
log = true
# URL shorthands
+
[url "git@github.com:"]
+
insteadOf = "gh:"
pushInsteadOf = "github:"
pushInsteadOf = "git://github.com/"
+
[url "git://github.com/"]
+
insteadOf = "github:"
+
[url "git@gist.github.com:"]
+
insteadOf = "gst:"
pushInsteadOf = "gist:"
pushInsteadOf = "git://gist.github.com/"
+
[url "git://gist.github.com/"]
+
insteadOf = "gist:"
[push]
+
default = matching