Работу с Git поможет улучшить tig

Хочу поделиться опытом использования консольной утилиты tig, помогающей существенно поднять эффективность работы с Git. Еще в 2006 г. ее создал Jonas Fonseca из Канады, но она до сих пор применяется разработчиками. Здесь Вы сможете ознакомиться с ее функционалом и увидеть преимущества данной утилиты.

В утилите предлагается множество инструментов, позволяющих поднять производительность. Некоторым программистам удобнее создавать коды в консоли, хотя существует масса визуальных GUI , обеспечивающих функционал git. В ней реализована автоматическая корректировка, позволяющая быстро исправлять ошибки, автодополнения, алиасы и иные инструменты. Однако не очень комфортны и занимают много времени рядовые действия, такие как анализирование diff либо перемещения в истории commit, а также другие функции.

Инсталляция

Предлагающаяся инструкция детально описывает особенности инсталляции комплекса. Утилита доступна в Линуксе всем репозиториям:

apt-get install tig
yum install tig

Под Mac OS доступ осуществляется посредством применения менеджера пакетов Homebrew:

brew install tig

Можно скачать через git clone либо в релизах исходные коды и сделать make && make install для прочих вариаций. Весь процесс детализированно изложен в прилагающейся к системе инструкции.

Конфигурирование

Благодаря файлу конфигурирования, tig комплекс предоставляет хорошие возможности для выполнения разнообразнейших настроек. Пути к нему задаются в TIGRC_USER — ~/.tigrc или в поддержке readline.

В системе есть возможность создания персональных команд. Примером может быть образец на Мас OS X, помогающий скопировать ID commit в буфер обмена:

bind generic 5 !@sh -c "echo %(commit) | pbcopy"

Утилита оснащается прекрасной инструкцией, где есть масса информации о ее функциональных возможностях.

Применение

В момент ввода команды tig из директории репозитория дизайна интерфейса имеет следующий вид:

Использование программы довольно интуитивное, что и можно было ждать в графическом интерфейсе. Предлагаю ряд необходимых сочетаний клавиш, помогающих выстраивать комфортную работу с утилитой.

Главной кнопкой является h:, предоставляющая окно разных возможностей.

В системе реализован ряд режимов для views:

Чтобы переключиться между режимами, стрелками выбираем соответствующую строку (file или log), нажимаем Ввод. Для blame нажимаем кнопку (b).

Используя Tab, делаем переключение в dual-split, выполняя переходы между режимов. Учитывая зависимость соотношения габаритов монитора, система самостоятельно определяет горизонтальный или вертикальный режим экрана.

Разворачивание окна на мониторе обеспечит нажатие клавиши O.

Быстро возвращаемся в предшествующее состояние, закрывая рабочее окно режима, при помощи нажатия q (quit). Просматривая diff,кнопкой [ n ], можно комфортно увеличить объем строчек внизу и вверху измененной строчки.

Утилита предлагает функцию открытия файлов через внешний редактор (e), а также поиска в окне (/), либо в файлах (g — grep) . Имеющие опыт работы в vim, будут комфортно чувствовать себя в этой системе. Можно переходить на необходимую строку или вводить разные команды с помощью :

Drop-in смена git

Иногда tig используется как drop-in замена git для нескольких команд.

tig status
tig log
tig show
tig blame file
tig grep pattern
tig refs
tig stash
tig status

Аналогично для pager:

git show | tig

Итог: Созданная на C, утилита tig демонстрирует высокие скорости работы даже на огромных репозиториях. Прямо в терминале тут можно получить комфортный и интуитивный интерфейс, не выполняя переключений окон. Благодаря этой программе я смог очень существенно поднять продуктивность работы с Git. Утилита предлагает быстрые инструменты навигации в истории, а также по всем изменениям в git-репозитории.

К оглавлению Опубликовано: 20.04.2018