Позволяет выполнять рутинные операции с репозиторием в стиле v8runner.
Пример работы:
ГитРепозиторий = Новый ГитРепозиторий(); ГитРепозиторий.УстановитьРабочийКаталог(КаталогРепозитория); ГитРепозиторий.УстановитьНастройку("core.quotePath", "true", РежимУстановкиНастроекGit.Локально); ГитРепозиторий.ДобавитьВнешнийРепозиторий("origin", ПутьКВнешнемуРепозиторию); ГитРепозиторий.ПерейтиВВетку("master"); ГитРепозиторий.Получить(); ГитРепозиторий.ОбновитьПодмодули(Истина, Истина);
Расширенный режим работы (например, отправки изменений):
ГитРепозиторий = Новый ГитРепозиторий(); НастройкаОтправить = Новый НастройкаКомандыОтправить; НастройкаОтправить.УстановитьURLРепозиторияОтправки("origin"); НастройкаОтправить.ОтображатьПрогресс(); НастройкаОтправить.ПерезаписатьИсторию(); НастройкаОтправить.ПолнаяОтправка(); ГитРепозиторий.УстановитьНастройкуКомандыОтправить(НастройкаОтправить); ГитРепозиторий.Отправить();
Так же описание функциональности содержится в папке features. В прилагающихся step_definitions можно подсмотреть больше примеров.
Работа со свойствами объекта ГитРепозиторий
// Установить текущий рабочий каталог. // Все команды git будут выполняться относительно указанного каталога. // // Параметры: // ПутьРабочийКаталог - Строка - Путь к рабочему каталогу. // Может быть относительным. //
// Получить текущий рабочий каталог. // // Возвращаемое значение: // Строка - Путь к рабочему каталогу //
// Получить путь к исполняемому файлу git. // // Возвращаемое значение: // Строка - Путь к исполняемому файлу. // По умолчанию содержит значение "git". //
// Установить путь к исполняемому файлу git. // // Параметры: // Путь - Строка - Путь к исполняемому файлу. //
// Получить вывод последней выполненной команды. // // Возвращаемое значение: // Строка - Вывод команды //
// Получить код возврата последней выполненной команды. // // Возвращаемое значение: // Число - Код возврата выполнения команды //
// Устанавливает тихий режим работы библиотеки (без вызова исключений). //
// Устанавливает нормальный режим работы библиотеки (с вызовом исключений). //
Общие команды git
// Выполняет инициализиацию репозитория в рабочем каталоге // git init //
// Получает состояние репозитория // git status // // Параметры: // ВКороткомФормате - Булево - Вывод в коротком формате // // Возвращаемое значение: // Строка - Вывод команды //
// Добавляет файл в индекс git // git add // // Параметры: // ПутьКДобавляемомуФайлу - Строка - Путь к файлу на диске //
// Зафиксировать проиндексированные изменения в истории git // git commit // // Параметры: // ТекстСообщения - Строка - Текст сообщения коммита (-m ТекстСообщения) // ПроиндексироватьОтслеживаемыеФайлы - Булево - Автоматически добавить // в индекс файлы, уже отслеживаемые git (-a) // ПутьКФайлуКоммита - Строка - путь к файлу с текстом комментария (-F ПутьКФайлуСтекстомКоммита) // АвторКоммита - Строка - Автор комментария, передается в случае необходимости (--author=АвторКоммита) // ДатаАвтораКоммита - Дата - Дата комментария (--date=ДатаАвтораКоммита) // Коммитер - Строка - Коммитер комментария, передается в случае, если требуется // ДатаКоммита - Дата - Дата произведения коммита //
// Вывести историю репозитория // git log // // Параметры: // Графически - Булево - Вывести историю в виде графа (--graph) //
// Получить изменения из удаленного репозитория // git pull // // Параметры: // ИмяРепозитория - Строка - Имя репозитория, из которого необходимо // получить изменения // ИмяВетки - Строка - Имя ветки, из которой необходимо получить изменения //
// Получить изменения из удаленного репозитория без обновления ветки // git fetch // // Параметры: // ИмяРепозитория - Строка - Имя репозитория, из которого необходимо // получить изменения //
// git push // // Параметры: // ИмяРепозитория - Строка - Имя репозитория, в который необходимо // отправить изменения // ИмяВетки - Строка - Имя ветки, в который необходимо отправить изменения // ПерезаписатьИсторию - Булево - Флаг отправки с перезаписью истории (--force) //
// Установить настройки отправки изменений. // Позволяет произвести тонкую настройку необходимых флагов команды отправки изменений // // Параметры: // НастройкаКомандыОтправить - НастройкаКомандыОтправить - инстанс класса НастройкаКомандыОтправить с необходимыми // настройками //
// git clone // // Параметры: // ПутьУдаленномуРепозиторию - Строка - Путь к удаленному репозиторию // КаталогКлонирования - Строка - Каталог, в который необходимо выполнить // клонирование //
// Установить настройки клонирования репозитория. // Позволяет произвести тонкую настройку необходимых флагов команды клонирования репозитория // // Параметры: // НастройкаКомандыКлонировать - НастройкаКомандыКлонировать - инстанс класса НастройкаКомандыКлонировать с необходимыми // настройками //
// Возвращает признак того, что РабочийКаталог является репозиторием git //
Работа с ветками
// Получить имя текущей ветки // // Возвращаемое значение: // Строка - Имя текущей ветки //
// Выполнить переход в ветку // git checkout // // Параметры: // ИмяВетки - Строка - Имя ветки, в которую необходимо перейти // СоздатьНовую - Булево - Флаг необходимости создания новой ветки (-b) // Принудительно - Булево - Флаг необходимости принудительно перейти в ветку (-f) // // @unstable //
// Создать новую ветку без выполнения перехода в нее // git branch // // Параметры: // ИмяВетки - Строка - Имя создаваемой ветки //
// Получить список веток // // Параметры: // ВключаяУдаленные - Булево - Включать информацию об удаленных ветках // // Возвращаемое значение: // ТаблицаЗначений - Таблица с информацией о текущих ветках. // Содержит колонки: // Текущая - Булево - Признак текущей ветки // Имя - Строка - Имя ветки //
Работа с внешними репозиториями
// Добавить внешний репозиторий // git remote add // // Параметры: // ИмяРепозитория - Строка - Имя внешнего репозитория // АдресВнешнегоРепозитория - Строка - Путь к внешнему репозиторию //
// Удалить внешний репозиторий // git remote remove // // Параметры: // ИмяРепозитория - Строка - Имя внешнего репозитория //
// Получить список внешних репозиториев // // Возвращаемое значение: // ТаблицаЗначений - Таблица с информацией о внешних репозиториях. // Содержит колонки: // Имя - Строка - Имя внешнего репозитория // Адрес - Строка - Путь к внешнему репозиторию // Режим - Строка - Режим работы с внешним репозиторием (push/fetch) //
Работа с подмодулями
// Добавить новый подмодуль // git submodule add // // Параметры: // АдресВнешнегоРепозитория - Строка - Путь к внешнему репозиторию // Местоположение - Строка - Каталог, в который необходимо поместить // указанный подмодуль // Ветка - Строка - Имя ветки внешнего репозитория для получения // ИмяПодмодуля - Строка - Имя, под которым подмодуль будет сохранен // в настройках //
// Обновить данные о зарегистрированных подмодулях // git submodule update // // Параметры: // Инициализировать - Булево - Выполнять инициализацию подмодуля // Рекурсивно - Рекурсивно - Обновлять подмодули подмодулей //
// Получить состояние подмодулей // // Возвращаемое значение: // ТаблицаЗначений - Таблица с информацией о подмодулях. // Содержит колонки: // ХэшКоммита - Строка - Хэш коммита, на который указывает подмодуль // Имя - Строка - Имя подмодуля // Указатель - Строка - указатель на внешний репозиторий //
Работа с настройками
// Получить значение настройки git // // Параметры: // ИмяНастройки - Строка - Имя настройки // РежимУстановкиНастроекGit - РежимУстановкиНастроекGit - Режим установки настройки. // Значения параметра содержатся в перечислении РежимУстановкиНастроекGit // // Возвращаемое значение: // Строка - Значение настройки //
// Установить настройку git // git config // // Параметры: // ИмяНастройки - Строка - Имя настройки // ЗначениеНастройки - Строка - Устанавливаемое значение // РежимУстановкиНастроекGit - РежимУстановкиНастроекGit - Режим установки настройки. // Значения параметра содержатся в перечислении РежимУстановкиНастроекGit //
// Удаление секции настроек git // // Параметры: // ИмяСекции - Строка - Имя секции // РежимУстановкиНастроекGit - РежимУстановкиНастроекGit - Режим установки настройки. //
// Получить список настроек git // // Параметры: // РежимУстановкиНастроекGit - РежимУстановкиНастроекGit - Уровень, на котором // необходимо искать значения настроек // // Возвращаемое значение: // Соответствие - Список настроек. // Ключ соответствия - ключ настройки // Значение соответствия - значение настройки //
Выполнение произвольных команд
// Выполнение произвольной команды git // // Параметры: // Параметры - Массив - Массив строковых аргументов, передаваемых в командную // строку. Добавляются после исполняемого файла. //
// Функция возвращает массив параметров выполнения команды git // ```bsl #### ПолучитьНастройки ```bsl // Функция возвращает стурктуру с текущими настройками отправки // // Возвращаемое значение: // Структура // Доступные ключи: // URLРепозитория - Строка - Признак текущей ветки // ЗаголовкиОтправки - Массив - Массив строк заголовков // ПараметрыКомандыОтправки - Соответсвие - Соответвие настроек команды (ключ - имя параметра, значение - булево)
// Процедура устанавливает текущими настройками отправки по переданный структуре // // Параметры // НовыеНастройкиОтправки - Структура // Доступные ключи: // URLРепозитория - Строка - Признак текущей ветки // ЗаголовкиОтправки - Массив - Массив строк заголовков // ПараметрыКомандыОтправки - Соответсвие - Соответвие настроек команды (ключ - имя параметра, значение - булево)
// Процедура добавляет произвольный заголовок настройками отправки // // Параметры // ЗаголовокОтправки - Строка - значение заголовка отправки //
// Процедура устанавливает URL репозитория git в настройками отправки // // Параметры // НовыйURLРепозитория - Строка - значение URL git репозитория или имя внешнего репозитория //
// Процедура устанавливает массив заголовков отправки репозитория git в настройки отправки // // Параметры // НовыйЗаголовкиОтправки - Строка/Массив - Строка или массив готовый заголовок отправки //
// Процедура устанавливает параметры команды в настройки отправки // // Параметры // Параметры - Соответвие - Соответвие настроек команды (ключ - имя параметра, значение - булево) //
// Процедура добавляет заголовки отправки в настройки отправки // // Параметры // ЗаголовокРабочейКопии - строка - строка с именем ветки или refspec рабочей копии // ЗаголовокУдаленногоСервера - строка - строка с именем ветки или refspec удаленного сервера //
// Процедура устанавливает параметры отображения прогресса выполнения команды в настройки отправки // git push --progress // Параметры // ЗначениеУстановки - булево - По умолчанию Истина
// Процедура устанавливает параметры режима тишины выполнения команды в настройки отправки // git push --quiet // Параметры // ЗначениеУстановки - булево - По умолчанию Истина
// Процедура устанавливает параметры режима зеркала выполнения команды в настройки отправки // git push --mirror // Параметры // ЗначениеУстановки - булево - По умолчанию Истина
// Процедура устанавливает параметры режима удаления выполнения команды в настройки отправки // git push --delete // Параметры // ЗначениеУстановки - булево - По умолчанию Истина
// Процедура устанавливает параметры режима полной отправки при выполнении команды в настройки отправки // git push --all // Параметры // ЗначениеУстановки - булево - По умолчанию Истина
// Процедура устанавливает режим перезаписи истории при выполнении команды в настройки отправки // git push --force // Параметры // ЗначениеУстановки - булево - По умолчанию Истина
// Процедура устанавливает необходимость отслеживать отправленные заголовки при выполнении команды в настройки отправки // git push --set-upstream // Параметры // ЗначениеУстановки - булево - По умолчанию Истина
// Процедура устанавливает режим программной обработки результатов при выполнении команды в настройки отправки // git push --porcelain // Параметры // ЗначениеУстановки - булево - По умолчанию Истина
// Процедура устанавливает режим отправки тегов при выполнении команды в настройки отправки // git push --tags // Параметры // ЗначениеУстановки - булево - По умолчанию Истина
// Процедура устанавливает произвольную настройку при выполнении команды в настройки отправки // // Параметры // НаименованиеПараметра - строка - Наименование параметра настройки // ЗначениеУстановки - булево - По умолчанию Истина
// Функция возвращает массив параметров выполнения команды git //
// Процедура устанавливает URL репозитория git в настройками отправки // // Параметры // НовыйURLРепозитория - Строка - значение URL git репозитория или имя внешнего репозитория //
// Процедура устанавливает каталог рабочей копии репозитория git в настройками клонирования // // Параметры // КаталогКлонирования - Строка - значение URL git репозитория или имя внешнего репозитория //
// Процедура устанавливает параметры команды в настройки отправки // // Параметры // Параметры - Соответвие - Соответвие настроек команды (ключ - имя параметра, значение - булево) //
// Процедура устанавливает параметры режима зеркала выполнения команды в настройки // --mirror // Параметры // ЗначениеУстановки - булево - По умолчанию Истина
// Процедура устанавливает параметры режима без рабочей выполнения команды в настройки // --bare // Параметры // ЗначениеУстановки - булево - По умолчанию Истина
// Процедура устанавливает параметры глубина получения коммитов команды в настройки // --depth // Параметры // ЗначениеУстановки - Число - По умолчанию 0
// Процедура устанавливает произвольную настройку при выполнении команды в настройки // // Параметры // НаименованиеПараметра - строка - Наименование параметра настройки // ЗначениеУстановки - булево - По умолчанию Истина
Значения:
- Локально
- Глобально
- Системно