Использование Git в Engee
В данном примере представлены основные команды системы контроля версий Git, которые можно рассматривать как альтернативу использованию Git в файловом браузере и командной строке.
Перед началом работы подключите модуль engee_git.jl
:
include("$(@__DIR__)/engee_git.jl");
и перейдите в файловом браузере в директорию, в которой необходимо осуществлять контроль версий.
Создание и удаление репозитория Git
-
Инициализировать локальный репозиторий в текущей директории:
engee_git.init();
-
Клонировать удалённый репозиторий в текущую директорию:
engee_git.clone_url = "git@git.engee.com:namespace/repository.git";
engee_git.clone(engee_git.clone_url);
-
Удалить репозиторий из текущей директории:
engee_git.term();
-
Привязать локальный репозиторий к удалённому:
engee_git.remote_url = "git@git.engee.com:namespace/origin.git";
engee_git.remote(engee_git.remote_url);
Индексация изменений
-
Проиндексировать изменение всех файлов в рабочем каталоге:
engee_git.index_add();
-
Проиндексировать изменение указанных файлов:
engee_git.index_add_files = "file1.txt file2.txt";
engee_git.index_add(engee_git.index_add_files);
-
Отменить индексацию изменений всех файлов в рабочем каталоге, сохранив их текущее состояние:
engee_git.index_reset();
-
Отменить индексацию изменений указанных файлов, сохранив их текущее состояние:
engee_git.index_reset_files = "file1.txt file2.txt";
engee_git.index_reset(engee_git.index_reset_files);
-
Перестать отслеживать изменение указанных файлов:
engee_git.index_remove_files = "file1.txt file2.txt";
engee_git.index_remove(engee_git.index_remove_files);
Фиксация изменений
-
Зафиксировать изменения:
engee_git.commit_message = "Initial commit";
engee_git.commit(engee_git.commit_message);
-
Изменить последнюю фиксацию без изменения комментария:
engee_git.commit_overwrite();
-
Изменить последнюю фиксацию с перезаписью комментария:
engee_git.commit_overwrite_message = "New commit";
engee_git.commit_overwrite(engee_git.commit_overwrite_message);
Возврат к последнему зафиксированному состоянию
-
Вернуть репозиторий в последнее зафиксированное состояние:
engee_git.reset();
-
Вернуть указанные файлы в последнее зафиксированное состояние:
engee_git.reset_files = "file1.txt file2.txt";
engee_git.reset(engee_git.reset_files);
Вывод диагностической информации
-
Вывести историю фиксации изменений:
engee_git.log();
-
Вывести сравнение проиндексированных изменений с текущим состоянием файлов в рабочем каталоге:
engee_git.diff();
-
Вывести сравнение последнего зафиксированного состояния с проиндексированными изменениями:
engee_git.diff("index");
-
Вывести сравнение последнего зафиксированного состояния с текущим состоянием файлов в рабочем каталоге:
engee_git.diff("directory");
-
Вывести информацию о фиксации изменений с указанным хешем:
engee_git.commit_show_hash = "engee123456789abcdefghijklmnopqrstuvwxyz";
engee_git.commit_show(engee_git.commit_show_hash);
Взаимодействие с удалённым репозиторием
-
Получить изменения из удалённого репозитория:
engee_git.fetch();
-
Получить изменения из удалённого репозитория и выполнить слияние с текущей веткой:
engee_git.pull();
-
Отправить зафиксированные изменения в удалённый репозиторий:
engee_git.push();
-
Принудительно отправить зафиксированные изменения в удалённый репозиторий:
engee_git.push("force");
Ветвление
-
Вывести список веток репозитория:
engee_git.branch_show();
-
Переключиться на существующую ветку:
engee_git.branch_switch_name = "master";
engee_git.branch_switch(engee_git.branch_switch_name);
-
Создать новую локальную ветку:
engee_git.branch_create_name = "dev";
engee_git.branch_create(engee_git.branch_create_name);
-
Создать новую локальную ветку и переключиться на неё:
engee_git.branch_create_switch_name = "feature";
engee_git.branch_create(engee_git.branch_create_switch_name, true);
-
Переименовать текущую ветку:
engee_git.branch_rename_name = "main";
engee_git.branch_rename(engee_git.branch_rename_name);
-
Удалить ветку:
engee_git.branch_remove_name = "feature";
engee_git.branch_remove(engee_git.branch_remove_name);
Выводы
Данный пример демонстрирует альтернативный способ работы с системой контроля версий Git в Engee.
Помимо использования вкладки Git в файловом браузере или непосредственного ввода команд в терминал, можно, находясь в локальном репозитории, последовательно запускать ячейки из данного скрипта.
А при необходимости аналогичным образом можно сформировать и свой скрипт, предназначенный для автоматизации работы с системой контроля версий Git.