Система контроля версий Git для АВАР
Современный мир программирования немыслим без системы контроля версий GIT. Что это такое и возможно ли воспользоваться богатыми возможностями этой системы программистам на АВАР расскажем в этой статье.
Хочу поделиться интересной темой, которая вызвала большой интерес по результатам голосования в нашем Telegram-канале «ABAP-club». Оказалось, что 77 % из вас уже слышали о ней. При этом 84 % утверждают, что никогда не применяли Git в своих проектах. Мы постараемся выровнять эти цифры и покажем, как можно внедрить Git в ваши задачи и проекты.
Во-первых, давайте разберемся, что такое Git. Git — это распределенная система управления версиями. Поясним это определение на простых примерах.
Для многих из нас работа с документами может стать настоящей головной болью. Иногда мы создаем множество версий одного и того же файла с названиями вида: «моя книга 1», «моя книга 2», «моя последняя версия» и так далее. В итоге это приводит к хаосу. Но для решения этой проблемы существуют системы управления версиями, такие как Git.
Git не единственная система, но, безусловно, самая популярная. Её используют не только программисты, но и графические дизайнеры, работники с текстовыми документами и многие другие. Главное, что она помогает сохранить порядок в ваших файлах и позволяет отслеживать изменения.
Немного практики
Перейдем к практике. Папка, которую вы видите на моем рабочем столе, помечена зеленым значком (Рис. 1). Это означает, что она находится под контролем версий Git. Если я внесу изменения, Git это отразит.
Рис. 1. Документы под контролем системы контроля версий
Далее я могу просмотреть историю изменений конкретного файла. Например, если я хочу узнать, какой файл был несколько версий назад, я могу сделать это с помощью Git. Он покажет мне все изменения (Рис. 2).
Рис. 2. Журнал изменений в документах
Если нужно увидеть разницу между текущей и предыдущей версией файла, то в Git также существует такая возможность (Рис. 3). Это очень удобно для отслеживания изменений, особенно если у вас большие документы с множеством таблиц и текста.
Рис. 3. Сравнение версий одного документа
Если мне не нравятся сделанные изменения, я могу откатить их. Git позволяет контролировать каждое изменение и возвращаться к предыдущим версиям, если это необходимо.
Таким образом Git помогает поддерживать порядок и контроль над вашими проектами и документами. Это действительно удобно. Вы всегда можете вернуться к предыдущим версиям, если это необходимо, и отслеживать, кто и что изменил в вашем проекте.
Git и АВАР
Теперь давайте перейдем к теме интеграции Git с ABAP. У нас есть приложение, которое позволяет интегрировать Git с ABAP, это abapGit (Рис. 4).
Рис. 4. Знакомьтесь, это abapGit
Приложение уже достаточно широко используется в мире SAP. Оно открывает новые возможности для разработки и управления проектами внутри SAP.
Вы можете возразить, что в SAP уже давно есть собственная система управления версиями — STMS (SAP Transport Management System). Она хороша, но имеет свои ограничения. Например, она не позволяет двум разработчикам одновременно изменять один и тот же объект. Git может решить эту и многие другие проблемы. Например, мы можем напрямую загружать код с GitHub или отправлять наш АВАР-код на хранение в GitHub.
Приведу следующий пример из нашей практики. В SAPLAND после каждого проведённого курса по программированию на АВАР. С помощью abapGit мы выкладываем весь написанный слушателями код в GitHub (или в импортонезависимые аналоги). Так что слушатели впоследствии всегда могут обратиться к своему коду, чтобы что-то освежить в памяти, даже если у них и не будет доступа к учебной SAP-системе.
В abapGit можно также удобно отслеживать, кто, когда и что изменял. Если что-то пошло не так, всегда можно вернуться к предыдущей версии кода.
Для всех, прочитавших статью до конца, у меня есть бонус — ссылка на ресурс с интересной подборкой АВАР-проектов: https://dotabap.org/. Там можно найти множество полезных и интересных решений. Также рекомендую ресурсы SAPLAND для дополнительного обучения. Не стесняйтесь обращаться с вопросами и комментариями.
Надеюсь, этот обзор был полезен, и теперь вы сможете воспользоваться Git на ваших проектах.
Автор
Никита Калуцкий
Эксперт по программированию на ABAP.
Разработчик на АВАР с 2008 года.
Участник разработки стандартного кода SAP. Эксперт по качеству продуктов SAP в компании САП СНГ.
Ведущий программист компании Северсталь до 2019 года.
Главный программист корпорации «Транснефть».
Более 5 лет опыта преподавания в Учебном центре Эксперт РП.
Создатель авторских курсов по языку программирования АВАР.