Utoljára aktív 1740109988

My favourite global .gitconfig with aliases (ru comments)

.gitconfig Eredeti
1[user]
2 # ...
3 # signingkey = <key>
4 # git config user.signingkey ... -- установить ключ
5[commit]
6 gpgSign = true
7[tag]
8 gpgSign = true
9[push]
10 default = current
11[pull]
12 default = current
13 rebase = false
14[core]
15 editor = nano
16 autocrlf = input
17[remote "origin"]
18 prune = true
19[include]
20 path = path/to/git_aliases # смотри ниже
git_aliases Eredeti
1[alias]
2
3 # общее -----------------------------------------------------------------
4 init = init -q # no blm!
5 aliases = config --get-regexp '^alias' # показать список доступных алиасов
6 user = config --local --get-regexp '^user' # локальные настройки пользователя git
7 guser = config --global --get-regexp '^user' # глобальные настройки пользователя git
8 user-me = "!git config user.name 'Anthony Axenov'; git config user.email 'anthonyaxenov@gmail.com'; git config user.signingkey 'F7CCD4EC'"
9
10 # ветки -------------------------------------------------------------------
11 bheads = branch -vv # ветки и их последние коммиты
12 branches = branch --list -vv # показать текущую ветку в общем списке локальных веток
13 # br = status -sb # показать название текущей ветки
14 brd = branch -D # удалить ветку локально
15 brod = "!git branch -D "$1"; git push origin :"$1";" # удалить ветку локально и на origin
16 merged = branch --merged # показать список веток, слитых в текущую
17 #ghpr = "!git fetch origin pull/$1/head:pr/$1 && git checkout pr/$1" # github: встать на PR с указанным id
18 # удалить локальные ветки, слитые в текущую:
19 trim = "!DEFAULT=master; git branch --merged ${1-$DEFAULT} | grep -v " ${1-$DEFAULT}$" | xargs git branch -d; git remote prune origin;"
20
21 # переключение ------------------------------------------------------------
22 co = checkout # переключиться на ветку/тег/коммит
23 cob = checkout -b # создание новое ветки
24 master = "!git checkout master && git pull" # переключиться на ветку master и обновить
25 dev = "!git checkout dev && git pull" # переключиться на ветку dev и обновить
26 develop = "!git checkout develop && git pull" # переключиться на ветку develop и обновить
27
28 # фиксация изменений ------------------------------------------------------
29 c = commit # коммит
30 ca = commit -a # коммит всех файлов
31 cm = commit -m # коммит с заданным сообщением
32 cam = commit -am # коммит всех файлов с заданным сообщением
33 amend = commit --amend --no-edit -a # прикрепляет все индексированные файлы к последнему коммиту, используя уже существующее сообщение
34 #amenda = commit --amend --no-edit
35 amendm = commit --amend -m # прикрепляет все индексированные файлы к последнему коммиту, спрашивает новое сообщение к коммиту
36 cp = cherry-pick # применить коммит поверх текущего HEAD
37 diffc = diff --cached # показать дельту staged-файла
38
39 # управление изменениями, сброс состояний, откат --------------------------
40 # st = status -sb # короткий status
41 st = status # сокращение
42 rh = reset --hard # откат коммита с удалением всех изменений на указанный коммит
43 rhh = reset --hard HEAD # откат коммита с удалением всех изменений на последний коммит
44 rmh = reset --mixed HEAD # откат коммита с сохранением всех изменений
45 unstage = reset HEAD # переводит файл staged => unstaged без потери изменений
46 clear = checkout -- # удаляет изменения в файле
47
48 # алиасы для временной фиксации
49 # на самом деле, для таких дел надо использовать git stash
50 # save = !git add -A && git commit -m 'SAVEPOINT'
51 wip = commit -am "WIP"
52 wipa = commit --amend -am "WIP"
53 undo = reset --mixed HEAD~
54
55 # работа с remote-репами --------------------------------------------------
56 pushf = push --force # отправить ветку принудительно
57 pusht = push --tags # отправить теги
58 pushft = push --tags --force # отправить теги принудительно
59 pullf = pull --force # получить ветку принудительно
60 pullt = pull --tags # получить теги
61 pullft = pull --tags --force # получить теги
62 ploh = pull origin HEAD # получить текущую ветку из origin
63 remotes = remote -v # показать список удалённых репозиториев
64 #sy = remote update origin --prune #
65 rso = remote show origin # показать состояние локальных веток относительно удалённых на origin bare
66 rpo = remote prune origin # удалить все мёртвые ссылки на bare-ветки origin
67 repush = 'git push origin :$1 && git push origin $1' # замена push --force
68
69 # просмотр логов ----------------------------------------------------------
70 head = log -1 HEAD # показать последний коммит в текущей ветке
71 heads = log --graph --decorate --simplify-by-decoration --oneline # коммиты, которыми оканчиваются ветки
72 # название текущей ветки или тега при detached head:
73 dehead = "!BR=$(git branch --show-current); if [ -n \"$BR\" ]; then echo $BR; else git describe --contains --all HEAD; fi;"
74 tree = log --graph --pretty=format:'%C(yellow)%h%C(cyan)%d%Creset %s %C(white)- %an, %ar%Creset'
75 hist = log --pretty=format:\"%h | %an (%ad) %s%d\" --graph --date=relative
76 logfull = log --graph --decorate --all
77 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'
78
79 # сабмодули ---------------------------------------------------------------
80 sub = submodule # сокращение
81 # si = submodule init # инициализация сабмодулей
82 # sdi = submodule deinit -f # удаление сабмодуля
83 # sa = submodule add # добавление сабмодуля
84 # sup = submodule update # обновление сабмодуля
85 # sst = submodule status # статус сабмодулей
86 # ss = submodule summary # список сабмодулей