Tig - проект, реализующий terminal user interface для просмотра истории git-репозитория.

Сильно упрощает всякие git blame-активности.

Какую задачу решает

В мире существуют различные платформы для работы с кодом.

Кто-то смотрит коммиты в GitHub, кто-то в GitLab, а кто-то в 2023 году всё ещё сидит на hosted Bitbucket версии 2008 года.

Простите за последнюю шпильку, это личная боль 🙏

Кстати, многие коммитят код прямо из IDE.

Но когда дело доходит до расследований, то всё это может быть не слишком удобно и мы обращаемся к интерфейсу git в командной строке.

У меня, например, был случай, когда надо было походить по графу из мерджей/коммитов в GitLab, который хостился в достаточно удаленной стране. И, конечно же, я сидел на слабеньком WiFi, а между нами был VPN. Удовольствие такое себе.

Вот такую боль tig и решает:

Это инструмент для знакомства с историей репозитория, анализом изменений, поиском концов.

Как оно работает

tig basic demo

В базовом виде, он показывает историю репозитория, по которой можно:

  • Просто походить, чтобы понять, чем команда занимается
  • Быстро провалиться в интересные коммиты
  • Поискать что-то по привычному /, something, [Enter]

Также есть blame-режим, который позволяет разобраться в изменениях отдельно взятого файла:

tig blame mode demo

Никогда ещё не было так удобно понять, к кому в личку надо зайти с вопросом “почему сделано именно так?” 😅

Мне этот инструмент очень зашел и помогает в повседневной жизни.

В вашем репозитории пакет, скорее всего, так и будет называться - tig.

А для любителей посмотреть исходники, ещё раз, ссылка:

Если конкретно tig вам не зайдет или его покажется мало, то можно посмотреть на другие классные проекты:

  • extrawurst/gitui - TUI для git на максималках, позволяет не только изучать, но и коммитить/пушить, написан на Rust
  • jesseduffield/lazygit - также TUI на максималках, во многом аналогичен предыдущему проекту, написан на Golang