git alias
Узнайте о псевдонимах Git: как их создавать и использовать для сокращения команд Git.

Что такое псевдоним Git?
Псевдоним Git — это пользовательский ярлык, который сопоставляет короткое, запоминающееся имя с длинной командой Git (или даже цепочкой команд). После определения ввод git co может выполнить git checkout, экономя нажатия клавиш и снижая количество опечаток для команд, которые вы используете десятки раз в день.
Специальной команды git alias не существует. Вместо этого псевдонимы хранятся как обычные записи конфигурации, поэтому их создают с помощью команды git config или редактируя файл конфигурации Git напрямую. Поскольку псевдонимы — это просто конфигурация, они подчиняются обычным правилам области видимости Git: определите их глобально (в ~/.gitconfig), чтобы каждый репозиторий мог их использовать, или локально (в файле .git/config отдельного репозитория), если псевдоним имеет смысл только для конкретного проекта.
На этой странице рассматриваются оба способа создания псевдонимов, как их проверить, как создавать псевдонимы для команд с аргументами, как запускать внешние команды оболочки из псевдонима, а также несколько полезных псевдонимов, которые стоит добавить уже сегодня.
Создание псевдонимов с помощью git config
Наиболее распространённый способ добавить псевдоним — команда git config с флагом --global, которая записывает данные в ~/.gitconfig, делая псевдоним доступным в каждом репозитории:
git config --global alias.co checkoutОбщая форма записи: git config --global alias.<shortcut> "<command>". Приведённый выше пример позволяет запускать git co везде, где ожидается git checkout. Уберите --global, чтобы ограничить действие псевдонима только текущим репозиторием.
Вы можете подтвердить сохранение псевдонима с помощью git config --list, которая выводит все активные значения конфигурации:
git config --listНовая запись появится в выводе как:
alias.co=checkoutС этого момента псевдоним ведёт себя точно так же, как если бы вы ввели полную команду. Все дополнительные аргументы, которые вы передаёте, перенаправляются к исходной команде:
git co -b new-featureЭто выполняет git checkout -b new-feature, создавая ветку new-feature и переключаясь на неё.
Создание псевдонимов через редактирование .gitconfig
Поскольку псевдонимы — это обычная конфигурация, их также можно добавлять, редактируя файл конфигурации напрямую. Откройте ~/.gitconfig (глобальный) или .git/config репозитория (локальный) и добавьте раздел [alias]:
[alias]
co = checkout
ci = commit
st = statusКаждая строка в разделе [alias] имеет вид shortcut = command. Это в точности то, что создаёт команда git config --global alias.co checkout, поэтому оба метода взаимозаменяемы — редактирование файла удобно, когда нужно добавить сразу несколько псевдонимов.
Псевдонимы для команд с аргументами
Псевдонимы хорошо подходят для команд, которые всегда принимают одни и те же флаги. Например, однострочный декорированный лог:
git config --global alias.lg "log --oneline --graph --decorate --all"Запуск git lg выведет компактную графовую историю. Смотрите git log, чтобы узнать, что делает каждый флаг.
Заключите команду в кавычки, если она содержит пробелы или флаги, иначе оболочка передаст лишние слова в git config вместо того, чтобы сохранить их как часть псевдонима.
Запуск команд оболочки из псевдонима
Чтобы запустить внешнюю программу (не подкоманду Git), добавьте в начало значения псевдонима символ !. Git выполнит оставшуюся часть в оболочке:
git config --global alias.visual "!gitk"Так же можно объединять несколько шагов. Псевдоним ниже добавляет все изменения в индекс и фиксирует их за один раз, где $1 — это сообщение коммита, которое вы передаёте:
git config --global alias.ac '!f() { git add -A && git commit -m "$1"; }; f'Теперь git ac "fix typo" выполняет git add -A, а затем git commit -m "fix typo".
Полезные псевдонимы Git
Ниже приведены псевдонимы, сокращающие повседневные команды. Добавляйте их с помощью git config --global alias.<name> "<command>":
| Псевдоним | Разворачивается в | Описание |
|---|---|---|
co = checkout | git checkout | Переключает ветки или восстанавливает файлы. |
cob = checkout -b | git checkout -b | Создаёт новую ветку и переключается на неё. |
ci = commit | git commit | Фиксирует проиндексированные изменения. Смотрите git commit. |
st = status -sb | git status -sb | Показывает краткий статус с информацией о ветке. |
f = fetch -p | git fetch -p | Получает изменения и удаляет устаревшие ветки отслеживания. |
p = push | git push | Отправляет изменения на удалённый сервер. |
bd = branch -d | git branch -d | Удаляет ветку только если она слита. |
ba = branch -a | git branch -a | Перечисляет локальные и удалённые ветки. |
bD = branch -D | git branch -D | Принудительно удаляет ветку. |
dc = diff --cached | git diff --cached | Показывает проиндексированные изменения. |