Русский ▾ Topics ▾ Latest version ▾ git-sh-setup last updated in 2.43.0

НАЗВАНИЕ

git-sh-setup — общий код настройки сценариев оболочки Git

ОБЗОР

. "$(git --exec-path)/git-sh-setup"

ОПИСАНИЕ

Это не та команда, которая может представлять интерес для конечного пользователя. Никогда. Этот документ предназначен для людей, которые изучают и/или пишут новый сценарий, работающий с высокоуровневым «фарфоровым» программным интерфейсом Git.

Скриплет git sh-setup предназначен для включения (с помощью .) другими сценариями оболочки для настройки некоторых переменных, указывающих на обычные каталоги Git, и нескольких вспомогательных функций оболочки.

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

Скриплет устанавливает переменные оболочки GIT_DIR и GIT_OBJECT_DIRECTORY, но не экспортирует их в среду.

ФУНКЦИИ

die

завершиться после выдачи указанного сообщения об ошибке в стандартный поток ошибок.

usage

завершиться с сообщением об использовании.

set_reflog_action

Устанавливает среду GIT_REFLOG_ACTION в заданную строку (обычно имя программы), если она ещё не установлена. Всякий раз, когда сценарий выполняет команду git, которая обновляет ссылки, запись в журнале ссылок создаётся с использованием значения этой строки, чтобы оставить запись о том, какая команда обновила ссылку.

git_editor

запускает редактор по выбору пользователя (GIT_EDITOR, core.editor, VISUAL или EDITOR) для данного файла, но завершается ошибкой, если редактор не указан и терминал является «тупым».

is_bare_repository

выводит true или false в стандартный поток вывода, чтобы указать, является ли репозиторий голым (т.е. без связанного рабочего каталога).

cd_to_toplevel

выполняет chdir в верхний уровень рабочего каталога.

require_work_tree

проверяет, находится ли текущий каталог в рабочем каталоге репозитория, и в противном случае завершается.

require_work_tree_exists

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

require_clean_work_tree <действие> [<подсказка>]

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

require_clean_work_tree rebase «Пожалуйста, закоммитьте или спрячьте их.»
get_author_ident_from_commit

выводит код для использования с eval для установки переменных GIT_AUTHOR_NAME, GIT_AUTHOR_EMAIL и GIT_AUTHOR_DATE для данного коммита.

create_virtual_base

изменяет первый файл так, чтобы остались только строки, общие со вторым файлом. Если общего материала недостаточно, первый файл остаётся пустым. Результат подходит в качестве виртуальной базовой основы для трёхходового слияния.

GIT

Является частью пакета git[1]