| 123456789101112131415161718192021222324252627282930313233343536373839404142 |
- git-ignore() {
- local site="https://raw.githubusercontent.com/github/gitignore/master"
- if [[ $1 == "--global" ]]; then
- shift
- ignore_file=${HOME}/.gitignore_global
- site+="/Global"
- else
- ignore_file="./.gitignore"
- fi
- wget -qO- "${site}/${1}.gitignore" >> "${ignore_file}"
- }
- git-inject-clang-format() {
- local fromdir todir
- fromdir=${HOME}/.dotfiles/resources
- todir=.git/hooks
- mkdir -p "${todir}/pre-commit.d"
- git config hooks.clangformat.style file
- cp ${fromdir}/clang-format.template ./.clang-format
- cp ${fromdir}/pre-commit-all.hook ${todir}/pre-commit
- cp ${fromdir}/clang-format.hook ${todir}/pre-commit.d/clang-format
- }
- git-create() {
- mkcd "${1}"; shift
- git init
- touch .gitignore
- local message="Initializing repository"
- if [[ $# -ge 1 ]]; then
- for i in "$@"; do git-ignore "${i}"; done
- message+=" with ignore lists: [ $1"
- [[ $# -eq 1 ]] || message+="$(printf ", %s" "${@:2}")"
- message+=" ]"
- fi
- maybe_do git-ignore-local
- git add .gitignore
- git commit -m "${message}"
- }
- alias git-graph="git log --graph --pretty=oneline --abbrev-commit --decorate --all"
- alias git-cleanup='git branch --merged | egrep -v "(^\*|master|dev)" | xargs git branch -d'
|