Клиент командной строки

Клиент командной строки#

Git-клиент командной строки воплощен в образе консольной утилиты git. Утилита выполняет команды, переданные ей в виде аргументов. Первым аргументом идет название команды, за которым идут аргументы этой команды, если они есть.

git <команда> [<аргументы> ...]

Так, командная строка:

  • git status --short отобразит на экране состояние файлов в краткой форме;

  • git restore src/modules/CMakeLists.txt откатит изменения в файле CMakeLists.txt из подкаталога src/modules до последнего фиксированного состояния;

  • git commit -m"Fix bug #3296" зафиксирует изменения, связав с ним сообщение “Fix bug #3296” (исправление ошибки под номером 3296).

Warning

Аргументы в командной строке разделены пробельными символами.

На курсе мы познакомимся со следующими командами Git:

  • add, добавляет измененные файлы в индекс;

  • branch, управляет ветками;

  • checkout, переключает ветки и восстанавливает файлы в рабочем каталоге;

  • clone, клонирует хранилище;

  • commit, фиксирует изменения в хранилище;

  • config, управляет настройками Git;

  • diff, показывает различия между файлами;

  • help, показывает справочную информацию о Git;

  • init, создает новое хранилище;

  • log, показывае историю изменений;

  • merge, сливает ветки в одну;

  • mv, перемещает и переименовывает файлы и каталоги;

  • pull, извлекает изменения из удаленного хранилища и интегрирует их в ветку локального хранилища;

  • push, отправляет изменения из локального хранилища в удаленное;

  • restore, восстановливает файлы в рабочем каталоге;

  • rm, удаляет файлы из рабочего каталога и индекса;

  • status, показывает состояние файлов в рабочем каталоге.

Note

Полный список доступных команд выводит команда git help --all.

Большинство команд выполняют действие по введенным заранее аргументам, выводят информацию на экран и завершают выполнение как и подобает интерфейсу командной строки. Некоторые команды в определенном состоянии переходят в интерактивный режим, используя:

  • vim, nano или другой текстовый редактор для ввода или редактирования многострочного текста;

  • less для просмотра текстовых данных, не помещающихся на экране;

  • ввод с клавиатуры для интерактивной выборки.

Бо´льшая часть команд для своего исполнения потребуют хранилище – каталог с именем .git. Они будут искать его в текущем каталоге. Если его там нет, то поднимутся выше по файловой системе, пока не найдут или не упрутся в корневой каталог. Если хранилище не будет найдено, то на экране терминала отобразится сообщение об ошибке следующего содержания:

fatal: не найден git репозиторий (или один из родительских каталогов): .git

Warning

Текущий каталог должен указывать на рабочий каталог или любой вложенный каталог в нем.

Git позволяет нескольким клиентам одновременно работать с одним хранилищем. Состояние хранилища или самого Git фиксируется в:

  • каталоге хранилища;

  • рабочем каталоге;

  • файлах настроек.

Клиенты используют файловую систему как средство межпроцессного взаимодействия. Единственное, что может потребоваться, это обновить графический интерфейс. Так, git gui обновляет содержимое по команде “Перечитать”, вызываемую по F5. Некоторые клиенты самостоятельно следят за интересующими файлами и автоматически обновляют свое содержимое.