W3docs

git alias

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

gitalias

Что такое псевдоним 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 = checkoutgit checkoutПереключает ветки или восстанавливает файлы.
cob = checkout -bgit checkout -bСоздаёт новую ветку и переключается на неё.
ci = commitgit commitФиксирует проиндексированные изменения. Смотрите git commit.
st = status -sbgit status -sbПоказывает краткий статус с информацией о ветке.
f = fetch -pgit fetch -pПолучает изменения и удаляет устаревшие ветки отслеживания.
p = pushgit pushОтправляет изменения на удалённый сервер.
bd = branch -dgit branch -dУдаляет ветку только если она слита.
ba = branch -agit branch -aПеречисляет локальные и удалённые ветки.
bD = branch -Dgit branch -DПринудительно удаляет ветку.
dc = diff --cachedgit diff --cachedПоказывает проиндексированные изменения.

Практика

Практика
Какой правильный способ создать псевдоним Git для команды 'commit' с помощью команды 'git config'?
Какой правильный способ создать псевдоним Git для команды 'commit' с помощью команды 'git config'?
Was this page helpful?