Git является отличным DCVS, и работать с ним одно удовольствие, однако, как любителя работать с ним через терминал, меня порой утомлял постоянный ввод одних и тех же длинных команд. К счастью у git'а есть лекарство и для этого случая и оно называется Alias.
Что такое alias?
Алиас это лишь еще одна, созданная вами команда для git'а, которая позволяет запускать любую другую команду git'а или же внешний по отношению к нему скрипт. Добавлять алиасы можно с помощью утилиты config, имеющейся в git'е. Данная утилита различает три уровня действия задаваемых Вами настроек:
1) Для всех пользователей в системе
$ git config --system
2) Для текущего юзера
$ git config --global
3) Для текущего git репозитория
$ git config
Каждый последующий уровень имеет более высокий приоритет и может переопределять настройки более общих уровней. Большинство алиасов я прописываю для уровня текущего пользователя, под которым и работаю.
Добавляем алиасы
Давайте рассмотрим алиасы на примере тех, которые я постоянно использую в работе.
- git status
Данная команда употребляется довольно часто и иногда банально лень ее писать, даже с дополнением табуляцией, поэтому для нее у меня появился следующий алиас:
$ git st
который можно добавить с помощью
$ git config --global alias.st status
- git commit
Немногим реже приходится что-то комитить, плюс добавлять понятное описание к комиту, т.е. использовать опцию -m, тут и появились два новых алиаса:
$ git cm 'some desc' $ git cma 'some desc'
которые мы добавим следующим образом:
$ git config --global alias.cm 'commit -m' $ git config --global alias.cma 'commit -a -m'
Первый из них позволяет просто ввести сообщение для коммита, и сам добавит в него все файлы из staging области. Второй добавит в коммит все существующие измененные и удаленные файлы, но не добавит untracked файлы.
- git checkout
Все мы время от времени совершаем ошибки и хотим их быстро исправить, тут мне помогает следующий алиас:
$ git config --global alias.co checkout
- git branch
Раньше я не часто использовал ветки в git'е, но сейчас они стали неотъемлимой частью моей работы, и тут появляется очередной удобный алиас:
$ git config --global alias.nb 'checkout -b'
Этот алиас легко запомнить, и он прост в использовании:
$ git nb 4devs-custom-errors
Просмотр имеющихся алиасов
Чтобы посмотреть на список имеющийхся алиасов, можно использовать
$ git config --list
который помимо всего прочего выведет секцию alias, в моем случае она выглядит примерно так:
alias.st=status alias.cm=commit -m alias.co=checkout alias.nb=checkout -b
Заключение
Надеюсь Вам пригодится хоть часть из этих алиасов для упрощения своей жизни, а также, возможно кто-то из читателей со временем расширит этот список.
P.S. Понимаю, что для некоторых людей IDE - это всё, но неплохо уметь работать с git'ом напрямую и немного его понимать :)