#!/bin/bash script_dir="$( dirname "$BASH_SOURCE" )" git_version="$(python -c "import re; print(re.search('\d+(\.\d+)+', '$(git --version)').group())")" echo "git version: $git_version" git config --global user.name 'Fabian Peter Hammerle' git config --global user.email 'fabian.hammerle@gmail.com' git config --global core.excludesfile "${script_dir}/gitignore" if [[ $git_version == 1.9* ]]; then git config --global push.default simple fi # diff git config --global diff.tool vimdiff git config --global difftool.vimdiff.cmd 'vim -R -f -d -c "wincmd l" -c '\''cd "$GIT_PREFIX"'\'' -c "set noro" "$LOCAL" "$REMOTE"' git config --global color.diff auto # aliases git config --global alias.branches "branch --all" git config --global alias.diff-last "diff HEAD^ HEAD" git config --global alias.hash 'show --no-patch --format="%H"' git config --global alias.jingle "!git fetch && git tree" git config --global alias.pick "cherry-pick" git config --global alias.status-tracked "status --untracked-files=no" git config --global alias.timestamp 'show --no-patch --format="%at"' git config --global alias.tree "log --graph --abbrev-commit --decorate --format=format:'%C(red)%h%C(reset)%C(bold red)%d%C(reset) %C(dim green)(%ar)%C(reset) %C(dim white)%s%C(reset) %C(bold black)(%an, %ai)%C(reset)' --all --date=short" # filters git config --global filter.strip-html-comments.clean 'strip-html-comments' git config --global filter.strip-html-comments.smudge 'cat'