shell/dotfiles/.gitconfig

96 lines
6.6 KiB
INI
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

[user]
name = AnthonyAxenov
email = anthonyaxenov@gmail.com
signingkey =
[core]
editor = nano
autocrlf = input
[commit]
gpgSign = true
[tag]
gpgSign = true
[pull]
default = current
rebase = false
[push]
default = current
[alias]
# общее -----------------------------------------------------------------
aliases = config --get-regexp '^alias' # показать список доступных алиасов
head = log -1 HEAD # показать последний коммит в текущей ветке
# название текущей ветки или тега при detached head:
dehead = "!BR=$(git branch --show-current); if [ -n \"$BR\" ]; then echo $BR; else git describe --contains --all HEAD; fi;"
# ветки -------------------------------------------------------------------
bheads = branch -vv # ветки и их последние коммиты
# br = status -sb # показать название текущей ветки
# branch = branch --list -vv # показать текущую ветку в общем списке локальных веток
#mn = merge --no-ff # слить ветку с принудительным коммитом слияния
brd = branch -D # удалить ветку локально
brod = "!git push origin :"${1}";" # удалить ветку на origin
merged = branch --merged # показать список веток, слитых в текущую
review = "!git fetch origin pull/$1/head:pr/$1 && git checkout pr/$1" # github: встать на PR с указанным id
# удалить локальные ветки, слитые в текущую, плюс все мёртвые ссылки на ветки в origin:
trim = "!DEFAULT=master; git branch --merged ${1-$DEFAULT} | grep -v " ${1-$DEFAULT}$" | xargs git branch -d; git remote prune origin;"
# переключение ------------------------------------------------------------
co = checkout # переключиться на ветку/тег/коммит
cob = checkout -b # создание новое ветки
master = "!git checkout master && git pull" # переключиться на ветку master и обновить
dev = "!git checkout dev && git pull" # переключиться на ветку dev и обновить
develop = "!git checkout develop && git pull" # переключиться на ветку develop и обновить
# фиксация изменений ------------------------------------------------------
c = commit # коммит
ca = commit -a # коммит всех файлов
cm = commit -m # коммит с заданным сообщением
cam = commit -am # коммит всех файлов с заданным сообщением
amend = commit --amend --no-edit # прикрепляет все индексированные файлы к последнему коммиту, используя уже существующее сообщение
# amenda = commit --amend --no-edit -a
amendm = commit --amend -m # прикрепляет все индексированные файлы к последнему коммиту, спрашивает новое сообщение к коммиту
cp = cherry-pick # применить коммит поверх текущего HEAD
diffc = diff --cached # показать дельту staged-файла
uncommit = reset --soft HEAD~1
# управление изменениями, сброс состояний, откат --------------------------
st = status -sb # короткий status
rh = reset --hard # откат коммита с удалением всех изменений на указанный коммит
rhh = reset --hard HEAD # откат коммита с удалением всех изменений на последний коммит
reseth = reset --mixed HEAD # откат коммита с сохранением всех изменений
unstage = reset HEAD # переводит файл staged => unstaged без потери изменений
clear = checkout -- # удаляет изменения в файле
# алиасы для временной фиксации
# на самом деле, для таких дел надо использовать git stash
# save = !git add -A && git commit -m 'SAVEPOINT'
# wip = commit -am "WIP"
# undo = reset HEAD~1 --mixed
# работа с remote-репами --------------------------------------------------
pushf = push --force # отправить ветку принудительно
pushft = push --tags --force # отправить теги принудительно
pullf = pull --force # отправить ветки принудительно
pullt = pull --tags --force # получить теги принудительно
#ploh = pull origin HEAD # получить текущую ветку из origin
remotes = remote -v # показать список удалённых репозиториев
#sy = remote update origin --prune #
rso = remote show origin # показать состояние локальных веток относительно удалённых на origin bare
rpo = remote prune origin # удалить все мёртвые ссылки на ветки в origin
repush = 'git push origin :$1 && git push origin $1' # удалить ветку на origin и отправить её заново
# просмотр логов ----------------------------------------------------------
heads = log --graph --decorate --simplify-by-decoration --oneline # коммиты, которыми оканчиваются ветки
tree = log --graph --pretty=format:'%C(yellow)%h%C(cyan)%d%Creset %s %C(white)- %an, %ar%Creset'
hist = log --pretty=format:\"%h | %an (%ad) %s%d\" --graph --date=relative
logfull = log --graph --decorate --all
grog = log --graph --decorate --all --pretty=format:'%C(bold red)%h%C(reset) %C(bold blue)%an%C(reset) %C(green)%cr%C(reset) [%aD]%d%n%B'
# сабмодули ---------------------------------------------------------------
si = submodule init # инициализация сабмодулей
sdi = submodule deinit -f # удаление сабмодуля
sa = submodule add # добавление сабмодуля
sup = submodule update # обновление сабмодуля
sst = submodule status # статус сабмодулей
ss = submodule summary # список сабмодулей