Алиасы git: короткие имена для длинных команд

Обновлено 31 июля 2026 г.

Алиас - это своё короткое имя для команды git, заданное через git config. Команду с пятью флагами, которую ты набираешь по двадцать раз в день, после этого можно вызывать двумя буквами.

$ git config --global alias.st status
$ git config --global alias.co checkout
$ git config --global alias.lg "log --oneline --graph --all"

Слева от точки слово alias, справа - имя, которое ты придумал. Значение - всё, что должно оказаться после git. Кавычки нужны, когда в значении есть пробелы, то есть как только появляются флаги.

$ git st
On branch main
nothing to commit, working tree clean

$ git lg
* 36e705e второй коммит
* 20d5f39 первый коммит

git lg вместо git log --oneline --graph --all - тот случай, ради которого алиасы и заводят: команда полезная, а набирать её целиком никто не станет.

Где они лежат

--global пишет в файл ~/.gitconfig, в секцию [alias]:

$ cat ~/.gitconfig
[user]
	name = Anna Petrova
	email = anna@example.com
[alias]
	st = status
	co = checkout
	lg = log --oneline --graph --all

Файл обычный текстовый, его можно открыть редактором и править руками: добавить строку в секцию [alias] - то же самое, что выполнить git config --global alias.<имя>. Без флага --global алиас ляжет в .git/config одного репозитория и в остальных работать не будет.

Посмотреть, во что разворачивается алиас, можно тем же git config:

$ git config --get alias.lg
log --oneline --graph --all

Восклицательный знак в начале значения меняет смысл: строка выполняется как команда оболочки, а не как подкоманда git. Так делают алиасы, которые склеивают несколько команд или зовут внешние программы, например git config --global alias.today '!git log --since=midnight --oneline'. Работает такой алиас от корня репозитория, а не от текущего каталога, и зависит от оболочки. Это уже продвинутое, начинать проще с обычных алиасов.

Частые ошибки

Существующую команду git алиасом не переопределить. Запись alias.status = log --oneline в файл ляжет, но git её проигнорирует: встроенная команда всегда сильнее, и git status останется git status. Хочешь свой вариант - придумай другое имя.

Опечатка внутри алиаса всплывает только при запуске: expansion of alias 'br' failed; 'brnch' is not a git command. Проверь значение через git config --get.

И главное: алиасы живут у тебя на машине, у коллег их нет. В инструкции для команды и в описании к задаче пиши полные команды. Иначе git lg для читателя окажется несуществующей командой, а объяснять придётся тебе.

Где это в учебнике

Глава 2. Первый репозиторий