VCS
VSC (Version Control System) — система контроля версий.
Современные веб-проекты не стоят на месте, в работающие приложения постоянно добавляются новые возможности и улучшаются существующие. Представьте, если бы во все проекты новые возможности вносились «на живую», периодически сползающая структура, некорректно работающий функционал и прочее. Неполадки в работе сервиса — это нормально на стадии разработки чего-то нового или исправления существующего, так как специалисты должны вносить изменения и проверять работоспособность. Это долгий и не всегда легкий проект.
А пользователям нужен рабочий проект. Также ситуация усложняется, если над проектом работает несколько специалистов. Один разработчик внес свои наработки и сохранил в проект, но оказывается, что коллега тоже внес изменения в тот же файл в тот же промежуток времени… Что же будет? В лучшем случае сохранятся обе версии, хуже — если чья-то одна версия, ужасно — если никакая из них. Брр…
Именно поэтому и были придуманы системы контроля версий (VCS). Они обеспечивают совместную работу нескольким специалистам, а также позволяют вести параллельную разработку. В настоящее время самая популярная VCS — это Git, а крупнейшие хостинги — это GitHub и Bitbucket.
Рассмотрим пример.
У нас есть разработанный интернет-магазин, на котором уже идут продажи.
Ставятся новые задачи:
- добавить новые способы доставки, с онлайн-расчетом стоимости;
- добавить в личный кабинет покупателя блок с актуальными акциями;
- вывести на главную страницу сайта блок с подпиской на новостную рассылку.
С применением системы контроля версий нет ничего проще: работающая версия интернет-магазина остается в ветке master (main), от нее создаются отдельные ветки: delivery, stocks и newsletter (название могут быть любыми). Данные ветки недоступны пользователям, над ними работаю только разработчики. Представляйте это как копии интернет-магазина, которые работают независимо друг от друга.
Каждая ветка отвечает за свою функциональность и в ней работают определенные разработчики. Каждый специалист вносит свои изменения и объединяет в общую ветку. Если при объединении возникнут проблемы, связанные с тем, что коллега исправлял тот же файл, система контроля версий отклонит объединение и попросит исправить конфликты. После исправления, разработчик опять попытается объединить ветки и так будет продолжаться пока не будет достигнуто стабильного состояния.
Дополнительные ветки никак не влияют на основную версию интернет-магазина, пользователя все также ей пользуются и совершают покупки. Как только какая-либо функциональность готова и протестирована — отдельная ветка объединяется с основной веткой (master или main) под контролем VCS. В итоге, пользователи получают новую функциональность при стабильно работающем интернет-магазине, а разработчики внедряют новинки в удобном формате, не мешая друг другу.
Поделиться: