Hello GIT!
Как я уже писал в новостях Русофта у нас построена вся инфраструктура для использования GIT вместо SVN.
На GIT уже успешно переехал ЕИС, в ближайший месяц-два переедет PortalEngine (движок ЕИС).
Ниже предлагаю части письма, которые я писал нашему ген. директору, когда обосновывал переход на GIT. Они ответят вам на вопрос "Зачем GIT, какой от него PROFIT?" (с нетехнической точки зрения). На многие технические вопросы для программистов я уже ответил в Вики.
Git
GIt - это система работы с исходным кодом (аналог используемого нами сейчас SVN). У неё есть важные технические отличия от SVN.
Углубляться в них не буду. Главное, что они позволяют добавиться нескольких преимуществ в разработке:
- Возможность изолирования изменения по одной или нескольким задачам (в т.н. "ветку"). При это над веткой может работать несколько человек, а по её готовности и проверке она "вливается" в основной код (основную ветку).
- Что в свою очередь позволяет более гибко выпускать обновления и исправления на рабочем сервере. Сейчас нередко ситуация когда нужно выпускать очередное обновление, а какая-то одна задача тормозит процесс, но простым способом "выкинуть" её из текущего кода. С Git таких проблем нет.
- GIT упрощает Hot Fixes, когда на уже выпущенной на рабочий сервер версии есть ошибки и нужно внести изменения. С SVN часто бывало, что наша разработка уже ушла вперёд и просто так протестировать и выложить исправления мы не можем. С GIT это решается более просто.
- GIT "поощряет" часты и маленькие "коммиты" (фиксацию изменений), в отличии от SVN где коммит часто у разработчика результат работы за день-два. Чем меньше коммит, чем проще в последующем анализировать историю при поиске ошибок и объединения изменений.
- В GIT возможна организации различных хитрых подходов к разработке. Например, когда в production (рабочую) версию системы разработчики не могут сами внести изменения, а только через руководителя проекта. Он проверяет изменения и после этого подтверждаю их внесение. Для начала у нас будет коммунизм, но со временем я буду вводить некоторые "бюрократические" схемы.
- GIT быстрее чем SVN, хотя для нас это не особо критично.
- С GIT в случае падения сервера с репозиторием, мы сможем полноценно продолжить работу, ничего не потеряв (один из нас может "назвать" себя сервером и работать, как раньше).
Чтобы перейти на GIT код ЕИС переписывать никак не нужно, но нужно поменять некоторые автоматические утилиты, которые мы используем при разработке и которые были завязаны на SVN:
- сбор ядра Pe
- обновление ядра в ЕИС
- сбор обновлений для рабочего ЕИС
P.S.
Напомню, что с удовольствие опубликую в блоге любые ваши рассуждения на темы, которые могут быть полезны сотрудникам Русофт (с оговоркой, что блог публичный, поэтому обойдетесь без откровенных indside'ов).
Комментариев нет:
Отправить комментарий