Назначение, терминология, применение Система управления версиями (СУВ) применяется для облегчения работы с изменяющейся информацией. СУВ позволяет хранить несколько версий одного и того же набора данных, при необходимости возвращаться к более ранним версиям, определять, кто и когда сделал то или иное изменение, создавать копии версий,  объединять версии, разрешать конфликты при объединении, контролировать права доступа. Под набором данных понимается список файлов в хранилище. СУВ можно использовать для хранения исходных кодов ядра Домино, кодов приложений (проектов) на Домино, истории изменений приложений, документации. Но имеется важное ограничение - слияние возможно только для текстовых файлов. При описании различных СУВ имеет место некоторая путаница терминов, поэтому дам своё понимание терминов. Термины сэйв (save) - сохранение изменений в среде разработки. Выполняется разработчиком по мере необходимости. коммит (commit, revision) - фиксация изменений в СУВ. Содержит информацию об авторе и короткое описание сути изменений. Рекомендуется делать коммит, как только появляется работоспособный прогресс. Нельзя объединять в один коммит несколько задач, поскольку СУВ рассматривает коммит как неделимую единицу. Коммит описывает точные различия между двумя состояниями набора данных. магистраль (master, origin, mainline) - главное (уникальное) направление разработки. Основная (эталонная) копия данных в центральном хранилище. Создаётся в начале работы и включает все те данные, которые надо обрабатывать в СУВ. Является единой точкой хранения и источником для большинства клонов. версия - моментальный снимок некоего набора данных. Версия характеризуется символической меткой. Метка описывает состояние и состав данных на момент получения снимка. ветвление - создание копии (клона) данных или части данных в целях отдельной разработки, проверки, эксплуатации. Стратегия ветвления определяется стилем взаимодействия команды разработчиков. ветка - копия данных, полученная в результате ветвления. Имеет идентификатор. Работа в пределах ветки применяется для изоляции изменений от влияния других разработчиков и задач. В процессе разработки в ветку записываются изменения - коммиты. объединение ветвей - перенос изменений (коммитов) из одной ветки в другую. Это может быть как однонаправленный перенос - только из одной ветки, так и слияние - совместный перенос.