Dotfiles.
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

158 lines
4.7 KiB

[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 <envrm@yandex.ru>' -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