[user] name = Maxim Likhachev email = envrm@yandex.ru [core] #pager = "less -R -X --ignore-case -w --jump-target=.5" pager = delta --light --theme="OneHalfLight" --commit-style=box --file-style=box editor=nvim excludesfile = ~/.shellrc/etc/soft/git/gitignore-global quotepath = false commitGraph = true [gui] wmstate = normal geometry = 1278x971+1+22 212 188 [color] ui = true [merge] tool = vimdiff [help] autocorrect = 1 [credential] helper = cache --timeout=3600 [push] default = simple [gc] writeCommitGraph = true # ----[ DIFF METHODS ]-------------------------------------------------------- [diff "plist"] textconv = plutil -p [diff "pdf"] textconv = pdfinfo [diff "png"] textconv = exiftool [diff "jpg"] textconv = exiftool # ----[ ALIASES ]-------------------------------------------------------- [alias] # ----[ COMMON ]-------------------------------------------------------- br = branch #noindex st = status #noindex df = diff #noindex # Коммит ci = commit # Коммит с сообщением cm = commit -m # Коммит от имени envrm cma = commit --author 'Maxim Likhachev ' -m # Коммит с отображением сохраняемых изменений cv = commit --verbose # Исправление последнего коммита ca = commit --amend # Список diff-методов для сохранения в .gitattributes diffs = "!grep '\\[diff \"' ~/.gitconfig | cut -d '\"' -f 2 | awk '{ print \"*.\" $0 \" diff=\" $0 }'" attributes = diffs #noindex # git push в текущий origin u = "!echo git push origin $(git rev-parse --abbrev-ref HEAD)" # git push во все репозитории up = "!git remote -v | awk '{ print $1 }' | uniq | xargs -IL echo git push L $(git branch | awk '/*/ { print $2 }')" # Корневая директория репозитория root = rev-parse --show-toplevel # Адрес удалённого репозитория url = !git remote -v | grep fetch | awk '{ print $2 }' # Упаковка репозитория в zip-архив pk = !git archive HEAD --format=zip > `basename $PWD`_`\\date '+%Y.%M.%d'`.zip # ----[ CLONE ]--------------------------------------------------------- # Клонирование репозитория code.envrm.info my = "!git_clone() { git clone https://code.envrm.info/src/${1}.git; }; git_clone" # Клонирование репозитория githube.com hub = "!git_clone() { git clone git://github.com/${1}.git; }; git_clone" # Клонирование репозитория notabug.org nb = "!git_clone() { git clone https://notabug.org/${1}.git; }; git_clone" # ----[ LOGS ]---------------------------------------------------------- # Последний коммит ll = !git --no-pager log -1 HEAD && echo # Краткий список коммитов ls = log --graph --pretty=format:'%Cred%h%Creset - %Cgreen[%cd]%Creset ::%C(yellow)%d%Creset %s %C(bold blue)<%an>%Creset' --abbrev-commit --date=short # Полный журнал изменений lf = log --source --graph --stat --date=iso --pretty=medium --decorate=full # Список сообщений коммитов, сгруппированных по авторам lm = shortlog -n -e -c # Список коммитов с выводом изменений ld = log --source --stat --date=iso --pretty=medium -p # Локальные изменения, готовые к отправке на сервер lu = !git --no-pager log --left-right --pretty=format:'%C(yellow)%h%Creset - %Cgreen[%cd]%Creset :: %s %C(bold blue)%Creset' --abbrev-commit --graph --color --date=short origin/master...HEAD | nl # Журнал действий со ссылками на коммиты refs = reflog show # Список последних действий в ветках last = !git-recent # Вывод дерева слияний tree = ls --all --simplify-by-decoration # ----[ EXTRA ]--------------------------------------------------------- # Интерактивный список своих коммитов recall = !git-recall # Список наиболее часто изменяемых файлов top = !git-top # Список псевдонимов aliases = !git-aliases # Создание графа коммитов graphviz = !git-graphviz # Список форков, отсортированный по дате последнего изменения forks = !git-forks # Получение ignore-шаблонов с https://gitignore.io/ ignore = !git-ignore # Создание gitignore-файла на основе меток +GITIGNORE makeignore = !git-makeignore # Календарь изменений calendar = !git-cal