Алиасы 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 для читателя окажется несуществующей командой, а объяснять придётся тебе.