.gitconfig: Make sure `go` never overrides branches
.gitconfig: Make `git rebase` safer on OS X

See <http://www.git-tower.com/blog/make-git-rebase-safe-on-osx/>.
.gitconfig: Add aliases to find branches/tags/commits
.gitconfig: Add `dm` alias

`git dm` deletes local branches that have been merged with master.
.gitconfig: Explicitly disable `indent-with-non-tab`

Don’t use `indent-with-non-tab`. This config flag is PERNICIOUS.
If turned on, Git won’t tell you that you indented your code incorrectly.
Instead, when it is pushing your changes to your remote repo,
Git will silently convert any consecutive 8-space strings it sees into
tab characters. This can be highly undesirable, especially if you
collaborate with a team that expects the code to be indented using
spaces instead of tabs.

At the very least, the comment above this line should very clearly
explain the fact that `indent-with-non-tab` does more than
advertised in the `git-config man page
(https://www.kernel.org/pub/software/scm/git/docs/git-config.html).
.gitconfig: Improve configuration
.gitconfig: Remove `push.default`

This was causing issues on servers that don’t have
an up-to-date Git installation. As a workaround,
remove this from `.gitconfig` and add this to `~/.extra`:

git config --global push.default simple
.gitconfig: Add default Git `push.default` config

Use the backwards-compatible `matching` setting by default.
On machines with newer Git installations, it avoids the
annoying Git warning, and it can be overriden to use `simple`
instead in `~/.extra`.
.gitconfig: Add alias to merge GitHub pull request

Ref. https://help.github.com/articles/checking-out-pull-requests-locally
.gitconfig: Prevent showing files whose names contain non-ASCII symbols
as unversioned

http://michael-kuehnel.de/git/2014/11/21/git-mac-osx-and-german-umlaute.html