Skip to content

Git-псевдонимы

Оптимизируйте рабочий процесс контроля версий с помощью мощных ярлыков.

Обзор

Git-псевдонимы создают ярлыки для часто используемых команд Git. Являясь частью конфигурации Dotfiles, эти псевдонимы автоматически загружаются через Chezmoi.

Определённые в git.aliases.sh и signing.aliases.sh, псевдонимы доступны в любой сессии Bash или Zsh после установки.

Справочник

Ядро

ПсевдонимКомандаОписание
ggitСокращение для git
gtpgit rev-parse --show-toplevelПоказать корневую директорию репозитория
grpagit rev-parse --abbrev-ref HEADПоказать имя текущей ветки
gconflgit config --listПоказать все настройки Git
gconfrgit config --local --get remote.origin.urlПоказать URL удалённого origin
gconfdiffgit config alias.dcolor "diff --color-words"Настроить псевдоним цветного diff

Рабочая область

ПсевдонимКомандаОписание
gagit addДобавить файлы в индекс
gaagit add --allДобавить все изменения в индекс
gadgit add .Добавить текущую директорию в индекс
gaugit add --updateДобавить изменения и удаления в индекс
gclgit cloneКлонировать репозиторий
gingit initИнициализировать новый Git-репозиторий
gcogit checkoutПереключить ветки
gcbgit checkout -bСоздать и переключиться на новую ветку
gdisgit checkout --Отменить изменения в рабочей директории
grsgit restoreВосстановить файлы рабочего дерева
gmvgit mvПереместить или переименовать файл
grmgit rmУдалить файлы
grmcgit rm --cachedУбрать файл из индекса
gstgit statusПоказать состояние рабочего дерева
gstsgit status --shortПоказать состояние в кратком формате
gstsbgit status --short --branchКраткое состояние с информацией о ветке
gstagit stash saveСохранить текущие изменения в stash
gstpgit stash popПрименить последний stash
gstdgit stash dropУдалить последний stash
gcloutgit clean -df && git checkout -- .Отменить все изменения

Коммиты

ПсевдонимКомандаОписание
gcgit commit -aЗакоммитить отслеживаемые изменения
gcagit commit --amendИзменить последний коммит
gcallgit add -A && git commit -avДобавить всё и закоммитить
gcamgit commit --amend --messageИзменить коммит с новым сообщением
gcanegit commit --amend --no-editИзменить без изменения сообщения
gcmgit commit --messageКоммит с инлайн-сообщением

Diff и история

ПсевдонимКомандаОписание
gdgit diffПоказать неиндексированные изменения
gdchgit diff --name-statusПоказать имена изменённых файлов
gdhgit diff HEADПоказать изменения с последнего коммита
gdstagedgit diff --stagedПоказать индексированные изменения
gdcachedgit diff --cachedПоказать изменения между индексом и HEAD
gdstatgit diff --stat --ignore-space-change -rСгенерировать diffstat
glgit log --since="last month" --onelineОднострочный лог за месяц
glggit log --graph --all --oneline --decorateГрафический лог всех веток
glgggit log --oneline --graph --full-history --all --color --decorateПолный графический лог
glcgit log --oneline --reverseХронологический однострочный лог
gldgit log --since=1-day-agoЛог за последние 24 часа

Ветки

ПсевдонимКомандаОписание
gbgit branchПоказать локальные ветки
gbdgit branch -dУдалить слитую ветку
gblgit branch -lПоказать ветки по шаблону
gbrgit branch -rПоказать удалённые ветки
gbrdgit branch -d -rУдалить удалённую отслеживающую ветку
gswbgit switchПереключить ветки (современный)

Удалённые репозитории и Push/Pull

ПсевдонимКомандаОписание
gfgit fetchПолучить с удалённого репозитория
gpgit pullЗагрузить с удалённого репозитория
gphgit pushОтправить на удалённый репозиторий
gpogit push originОтправить на origin
gpbgit push --set-upstream origin $(git branch --show-current)Установить upstream и отправить
gpollgit push origin --allОтправить все ветки на origin
grgit remoteУправление удалёнными репозиториями
gragit remote addДобавить новый удалённый репозиторий
graogit remote add originДобавить origin
grvgit remote -vПоказать URL удалённых репозиториев

Отмена и сброс

ПсевдонимКомандаОписание
grevgit revertОтменить коммит
grevncgit revert --no-commitОтменить без автокоммита
grbgit rebaseПеребазировать текущую ветку
grbkgit reset --soft HEAD^Отменить последний коммит
gresclgit reset --hard HEAD~1 && git clean -fdЖёсткий сброс и очистка
greshgit reset --hard HEAD~1Жёсткий сброс к предыдущему коммиту
grespgit reset --hard && git clean -ffdxСброс в исходное состояние
gressgit reset --soft HEAD~1Мягкий сброс

Субмодули

ПсевдонимКомандаОписание
gsmgit submoduleУправление субмодулями
gsmigit submodule initИнициализировать субмодули
gsmagit submodule addДобавить субмодуль
gsmsgit submodule syncСинхронизировать URL субмодулей
gsmugit submodule updateОбновить субмодули
gsmuigit submodule update --initОбновить и инициализировать
gsmuirgit submodule update --init --recursiveОбновить, инициализировать, рекурсивно

Инструменты

ПсевдонимКомандаОписание
gggit grepПоиск по содержимому репозитория
gbsgit bisectБинарный поиск коммита с ошибкой
undopushgit push -f origin HEAD^:masterПринудительно отменить последний push

Подписание и безопасность

ПсевдонимКомандаОписание
enable-signing(интерактивный мастер)Настроить подписание коммитов GPG или SSH
verify-signaturesgit log --show-signature -n 10Проверить подписи последних 10 коммитов
check-signinggit config --list | grep "gpg|signing"Проверить текущую конфигурацию подписания