Недавно наша студия обновилась и появилась возможность интеграции с Git. На примерах покажем, как работать с новым функционалом и расскажем, какие преимущества это дает.
Если вы еще не в курсе обновлений студии разработки Puzzle RPA, то заходите сюда. А сейчас разберемся, что такое Git и какие возможности для пользователей студии открывает интеграция с этой системой.
Преимущества интеграции Puzzle RPA с Git
- Все версии файлов сохраняются, риск потери данных стремится к нулю.
- Масштабирование работы по проекту, легко включать в процесс разработчиков.
- Возможность вести параллельную работу между разработчиками и целыми командами, увеличив скорость работы.
- Отслеживание темпов работы над проектом, в любой момент можно увидеть, кто и когда внес изменения.
Что такое Git
Git — распределенная система управления версиями файлов. Изменения хранятся в локальных компьютерах и оттуда синхронизируются с другими компьютерами. Git сохраняет данные в локальном репозитории. Репозиторий — каталог на жестком диске рабочего компьютера. Для большей стабильности и ускорения синхронизации разных версий проекта локальный репозиторий хранят онлайн в специальных сервисах: Github, Gitlab, Bitbucket.
Gitlab — веб-инструмент, представляющий систему управления репозиториями кода для Git (хостинг репозиториев). Он дает возможность выполнять совместную разработку силами нескольких команд, применять обновления кода и откатывать изменения, если это необходимо. Решение может работать на собственном сервере или в облаке.
Панель управления Git
Чтобы интегрировать функционал в студию, нужно нажать на соответствующую кнопку. Открываем «Панель управления Git» для работы:
Интерфейс
Клонирование репозитория
Для клонирования есть специальная кнопка «Клонировать репозиторий»:
Нажимаем «Выбрать», и указываем/создаем каталог для хранения на локальном компьютере:
Каталог выбран:
Вставляем ссылку на удаленный репозиторий, скопировав ее из браузера:
Вставляем ссылку, нажимаем «Ок»:
Происходит подключение к удаленному репозиторию:
Теперь мы соединились с удаленным репозиторием. То есть у нас есть связь между файлами на сервере и файлами в Puzzle RPA.
Выберем ветку, в которой у нас есть тестовые файлы: «MAIN» => «Удаленные ветки» => «remotes/origin/test»:
Файлы, которые нам доступны из тестовой ветки:
Если мы перейдем в папку, которую создали (git_new), увидим, наш проект, который клонировался из удаленного репозитория puzzle_rpa_test_git_integration и все файлы, которые копировались на локальный компьютер:
Отправка изменений в удаленный репозиторий
Изменения, которые были зафиксированы ранее на локальном компьютере пользователя (допустим, в течение дня), можно направить одной выгрузкой в удаленный репозиторий:
Добавление удаленного репозитория
Если проект не имеет связи с удаленным репозиторием, то данная кнопка активна:
Подтягивание изменений из удаленного репозитория
С удаленным репозиторием может работать еще целая команда разработчиков, поэтому изменения необходимо не только направлять, но также и подтягивать на свой компьютер из удаленного репозитория. Для этого следует нажать на кнопку «Подтянуть изменения из удаленного репозитория»:
Принудительное обновление
Иногда бывает так, что какие-то изменения определяются не сразу. Например, мы внесли изменения в файл, создали новый файл и т.п. Для таких случаев есть кнопка принудительного обновления («Обновить»):
Взаимодействие с ветками
Ветки в Git — это подвижный указатель на один из коммитов. Обычно ветка указывает на последний коммит в цепочке коммитов. Ветка берет свое начало от какого-то одного коммита.
Коммит — объект, содержащий информацию по изменению файла (на картинке его изображают как точку). В Git коммит состоит из нескольких так называемых объектов. Можно считать, что коммиты — это односвязный список, состоящий из объектов, в которых содержатся измененные файлы и ссылка на предыдущий коммит.
У коммита есть и другие свойства. Например, дата, автор, комментарий к коммиту и т.п.
В Git есть возможность создавать несколько параллельных веток, чтобы вносить какие-то изменения параллельно. Это условное разделение рабочей области для разработки. Например, в одной ветке может улучшаться интерфейс, а в другой ветке может происходить что-то другое. Потом эти ветки обновляются и сливаются в общие. Пример веток и коммитов:
В нашем примере в удаленном репозитории созданы две ветки test и main, которые содержат разные файлы:
Нажмем на кнопку «Взаимодействие с ветками»:
Мы можем создать новую ветку:
Переименовать ветку:
Удалить локальную ветку:
Получить изменения из локальной ветки:
Для добавления новой ветки, нажмем на «+», введем название test-3 и нажмем «Создать»:
Теперь мы локально добавили новую ветку test-3 (изменим файл «Файл.2.process.json»), затем зафиксируем изменения и отправим в удаленный репозиторий:
Переходим в удаленный репозиторий и также видим созданную новую ветку test-3:
Идем в указанную ветку, здесь файлы по проекту и наш коммит:
Выбор ветки для работы
Локальные ветки (ветки, которые созданы на компьютере пользователя и не отправлены в удаленный репозиторий):
Удаленные ветки (ветки удаленного репозитория):
Список коммитов
Нажимаем на кнопку со списком коммитов:
Можем посмотреть список всех коммитов по выбранной ветке (как локальной, так и удаленного репозитория):
Копирование пути к выбранному файлу
Выбираем файл, нажимаем на кнопку «Скопировать путь к файлу»:
Открытие содержимого выбранного файла
Выбираем файл, нажимаем на кнопку «Открыть содержимое файла». Файл будет открыт программой, выбранной по умолчанию для данного типа файла:
Добавление файла в gitignore
Чтобы добавить файл в список для игнорирования, выбираем файл и нажимаем на кнопку «Добавить в gitignore»:
Работа с Git
Изменение в файле и репозитории
Откроем один из файлов по созданию робота в Студии, например «Процесс 1», добавим несколько новых блоков и сохраним его:
Создадим новый файл с названием «Новый процесс».
Теперь перейдем в «Панель управления Git» и увидим файлы, в которых произошли изменения:
Эти изменения произошли пока только в файле репозитория на локальном компьютере пользователя.
Теперь нам необходимо зафиксировать внесенные изменения по проекту (измененный «Процесс 1.json» и созданный новый «Новый процесс.json»), которые хранит только наш локальный репозиторий. То есть нам необходимо перенести изменения на удаленный репозиторий, чтобы они были доступны и нам, и другим пользователям, у которых есть доступ к нашему проекту через веб, в нашем случае это Gitlab.
Для этого отметим чек-бокс с изменениями:
Дальше нам необходимо указать, что мы сделали. Описание коммита:
Теперь мы можем просто зафиксировать изменения и направить информацию на удаленный репозиторий позже (допустим сейчас у нас нет доступа в Интернет, но работу мы закончили на текущий момент), тогда необходимо нажать на «Фиксация изменений».
Чтобы сразу направить изменения, нажимаем «Зафиксировать и отправить изменения», тогда произойдет отправка файлов в удаленный репозиторий:
Переходим на удаленный сервер и видим, что добавился новый файл. А также обновился уже существующий файл и описание нашего коммита. Теперь у нас изменения на локальном компьютере синхронизированы с изменениями на удаленном репозитории:
Переходим в раздел Commits и выбираем нашу запись. Мы видим детальную информацию по изменениям двух файлов:
Первый файл, где мы внесли изменения:
Второй файл, который создали:
Интеграция Puzzle RPA с Git обеспечивает безопасное хранение версий создания процессов, упрощает совместную работу команд за счет параллельной разработки и автоматической синхронизации изменений. Это снижает риски потери данных, ускоряет разработку и позволяет масштабировать проекты с прозрачным контролем всех этапов.
Остались вопросы? Пишите в комментариях, обязательно ответим!