Клиенты Git

Клиенты Git#

Доступ к возможностям Git пользователь осуществляет через специальную программу, называемую клиентом. Клиентов существует огромное множество. Классифицируем их по следующим критериям:

  • бесплатные (условно бесплатные) или платные;

  • развиваемые в рамках проекта Git или сторонними разработчиками;

  • автономные или встроенные в существующие приложения;

  • вид пользовательского интерфейса: командная строка (CLI), псевдографический интерфейс (TUI) или графический интерфейс (GUI).

../_images/git-clients.png

Из всех клиентов обратим внимание только на бесплатные и условно-бесплатные. Условно-бесплатные клиенты доступны с ограничениями, которые снимаются при оплате лицензии. Некоторые платные клиенты могут быть предоставлены бесплатно в рамках студенческих программ.

Стандартный дистрибутив Git уже содержит клиент с интерфейсом командной строки – утилита git. Именно его мы и будем изучать на курсе. По сравнению с графическими клинетами, клиент командной строки имеет следующие преимущества:

  • стабилен в плане работы;

  • позволяет автоматизировать действия;

  • дает бОльшую функциональность и контроль над ситуацией.

Note

Обратите внимание, что название утилиты git начинается со строчной буквы, а системы “Git” – с заглавной.

Дополнительно, в поставку Git входят два графических инструмента:

  • gitk для обзора истории изменений;

  • git gui для фиксации изменений.

Приложение gitk отрисовывает историю изменений в виде окрашенного графа. Каждая вершина графа занимает одну строку. В этой строке указаны комментарий к фиксации, имя и электронная почта автора и время. Активировав вершину мышкой, можно увидеть информацию о фиксации и ее содержание в нижней области. Приложение gitk представляет графическую альтернативу таким командам как git history и git log.

../_images/gitk.png

Fig. 1 Окно приложения gitk#

Приложение “git gui” позволяет фиксировать изменения. Оно отображает состояние файлов, индекса, текста с комментарием и команды для фиксации изменений. Приложение “git gui” представляет графическую альтернативу командам git add и git commit.

../_images/git-gui.png

Fig. 2 Окно приложения git-gui#

Графические клиенты удобны для работы с большими объемами информации вручную. На официальном сайте Git предоставлен неполный список графических клиентов. Вот некоторые из них:

  • “GitHub Desktop”.

  • Gitnuro;

  • SourceTree;

  • “Sublime Merge”.

Графические клиенты – это автономные приложения. Но некоторые из них могут встраиваться в уже существующие инструменты, как IDE, текстовый редактор или графическая оболочка ОС. Проект Git Extensions предлагает расширения для “Windows Explorer” и “MS Visual Studio”. В первом случае расширения доступны из контекстного меню, а во втором как пункт главного меню. Дополнительно, проект предоставляет автономный графический клиент.

../_images/gitext.png

Fig. 3 Встроенное в “MS Visual Studio Community” пункт меню расширения “GitExtensions”#

../_images/gitext-window.png

Fig. 4 Главное окно приложения “Git Extensions”#

Популярный “Visual Studio Code” поддерживает Git из-под коробки. Интерфейсные элементы для работы с хранилищем расположены во вкладке “Source Control” на панели задач. Подробно про работу с Git в VSCode расписано по ссылке.

../_images/vscode-git.png

Fig. 5 VSCode с выбранной вкладкой “Source Control” в режиме просмотра изменений#

Текстовый терминал кроме командной строки предлагает интерактивный псевдографический интерфейс. Наглядный тому пример консольные приложения vim, nano, htop. Git-клиент lazygit исполнен в этом же стиле. Он позволяет использовать интерактивность там, где нет поддержки графического режима.

../_images/lazygit.png

Fig. 6 Главное окно приложения lazygit#