Позволяет выполнять рутинные операции с репозиторием в стиле 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 // Процедура устанавливает произвольную настройку при выполнении команды в настройки//// Параметры// НаименованиеПараметра - строка - Наименование параметра настройки// ЗначениеУстановки - булево - По умолчанию ИстинаЗначения:
- Локально
- Глобально
- Системно
