setup 1.4 KB

12345678910111213141516171819202122232425262728293031323334
  1. #!/bin/bash
  2. script_dir="$( dirname "$BASH_SOURCE" )"
  3. git_version="$(python -c "import re; print(re.search('\d+(\.\d+)+', '$(git --version)').group())")"
  4. echo "git version: $git_version"
  5. git config --global user.name 'Fabian Peter Hammerle'
  6. git config --global user.email 'fabian.hammerle@gmail.com'
  7. git config --global core.excludesfile "${script_dir}/gitignore"
  8. if [[ $git_version == 1.9* ]]; then
  9. git config --global push.default simple
  10. fi
  11. # diff
  12. git config --global diff.tool vimdiff
  13. git config --global difftool.vimdiff.cmd 'vim -R -f -d -c "wincmd l" -c '\''cd "$GIT_PREFIX"'\'' -c "set noro" "$LOCAL" "$REMOTE"'
  14. git config --global color.diff auto
  15. # aliases
  16. git config --global alias.branches "branch --all"
  17. git config --global alias.diff-last "diff HEAD^ HEAD"
  18. git config --global alias.hash 'show --no-patch --format="%H"'
  19. git config --global alias.jingle "!git fetch && git tree"
  20. git config --global alias.pick "cherry-pick"
  21. git config --global alias.status-tracked "status --untracked-files=no"
  22. git config --global alias.timestamp 'show --no-patch --format="%at"'
  23. 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"
  24. # filters
  25. git config --global filter.strip-html-comments.clean 'strip-html-comments'
  26. git config --global filter.strip-html-comments.smudge 'cat'