Git, используем алиасы

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'ом напрямую и немного его понимать :)

Читайте также:

Автоматизация исправлений ошибок оформления кода с помощью Git и PHP Coding Standards Fixer

Все мы знаем про стандарты оформления кода в PHP сообществе и пытаемся им следовать. Несмотря на это, мы все люди и допускаем ошибки. Это значит, что у нас есть несколько вариантов решения данной проблемы: 1) Править все ошибки стиля вручную. 2) Использовать плагины для IDE или другие инструменты для запуска в терминале. Эти два варианта не те, которые я хотел бы использовать. На самом деле есть еще один вариант - все автоматизировать. Я буду использовать Git и PHP CS Fixer, но несмотря на это принципы очень просты и вы легко сможете применить их к вашему языку программирования и системе контроля версий. Продолжайте читать, чтобы избавиться от рутины и стать более продуктивным разработчиком.