Gitrunner
Упрощение работы с git из OneScript
Install / Use
/learn @nixel2007/GitrunnerREADME
gitrunner
Библиотека для упрощения работы с git из oscript.
Позволяет выполнять рутинные операции с репозиторием в стиле 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
//
// Параметры:
Related Skills
apple-reminders
343.1kManage Apple Reminders via remindctl CLI (list, add, edit, complete, delete). Supports lists, date filters, and JSON/plain output.
gh-issues
343.1kFetch GitHub issues, spawn sub-agents to implement fixes and open PRs, then monitor and address PR review comments. Usage: /gh-issues [owner/repo] [--label bug] [--limit 5] [--milestone v1.0] [--assignee @me] [--fork user/repo] [--watch] [--interval 5] [--reviews-only] [--cron] [--dry-run] [--model glm-5] [--notify-channel -1002381931352]
healthcheck
343.1kHost security hardening and risk-tolerance configuration for OpenClaw deployments
node-connect
343.1kDiagnose OpenClaw node connection and pairing failures for Android, iOS, and macOS companion apps
