Клиенты Git#
Доступ к возможностям Git пользователь осуществляет через специальную программу, называемую клиентом. Клиентов существует огромное множество. Классифицируем их по следующим критериям:
бесплатные (условно бесплатные) или платные;
развиваемые в рамках проекта Git или сторонними разработчиками;
автономные или встроенные в существующие приложения;
вид пользовательского интерфейса: командная строка (CLI), псевдографический интерфейс (TUI) или графический интерфейс (GUI).
Из всех клиентов обратим внимание только на бесплатные и условно-бесплатные. Условно-бесплатные клиенты доступны с ограничениями, которые снимаются при оплате лицензии. Некоторые платные клиенты могут быть предоставлены бесплатно в рамках студенческих программ.
Стандартный дистрибутив Git уже содержит клиент с интерфейсом командной строки – утилита git.
Именно его мы и будем изучать на курсе.
По сравнению с графическими клинетами, клиент командной строки имеет следующие преимущества:
стабилен в плане работы;
позволяет автоматизировать действия;
дает бОльшую функциональность и контроль над ситуацией.
Note
Обратите внимание, что название утилиты git начинается со строчной буквы, а системы “Git” – с заглавной.
Дополнительно, в поставку Git входят два графических инструмента:
gitkдля обзора истории изменений;git guiдля фиксации изменений.
Приложение gitk отрисовывает историю изменений в виде окрашенного графа.
Каждая вершина графа занимает одну строку.
В этой строке указаны комментарий к фиксации, имя и электронная почта автора и время.
Активировав вершину мышкой, можно увидеть информацию о фиксации и ее содержание в нижней области.
Приложение gitk представляет графическую альтернативу таким командам как git history и git log.
Fig. 1 Окно приложения gitk#
Приложение “git gui” позволяет фиксировать изменения.
Оно отображает состояние файлов, индекса, текста с комментарием и команды для фиксации изменений.
Приложение “git gui” представляет графическую альтернативу командам git add и git commit.
Fig. 2 Окно приложения git-gui#
Графические клиенты удобны для работы с большими объемами информации вручную. На официальном сайте Git предоставлен неполный список графических клиентов. Вот некоторые из них:
“GitHub Desktop”.
Gitnuro;
SourceTree;
“Sublime Merge”.
Графические клиенты – это автономные приложения. Но некоторые из них могут встраиваться в уже существующие инструменты, как IDE, текстовый редактор или графическая оболочка ОС. Проект Git Extensions предлагает расширения для “Windows Explorer” и “MS Visual Studio”. В первом случае расширения доступны из контекстного меню, а во втором как пункт главного меню. Дополнительно, проект предоставляет автономный графический клиент.
Fig. 3 Встроенное в “MS Visual Studio Community” пункт меню расширения “GitExtensions”#
Fig. 4 Главное окно приложения “Git Extensions”#
Популярный “Visual Studio Code” поддерживает Git из-под коробки. Интерфейсные элементы для работы с хранилищем расположены во вкладке “Source Control” на панели задач. Подробно про работу с Git в VSCode расписано по ссылке.
Fig. 5 VSCode с выбранной вкладкой “Source Control” в режиме просмотра изменений#
Текстовый терминал кроме командной строки предлагает интерактивный псевдографический интерфейс. Наглядный тому пример консольные приложения vim, nano, htop. Git-клиент lazygit исполнен в этом же стиле. Он позволяет использовать интерактивность там, где нет поддержки графического режима.
Fig. 6 Главное окно приложения lazygit#