Система контроля версий (VCS) — это программное обеспечение, которое помогает разработчикам программного обеспечения работать вместе и вести полную историю своей работы.
Ниже приведены цели системы контроля версий.
- Разрешить разработчикам работать одновременно.
- Не перезаписывайте изменения друг друга.
- Поддерживать историю каждой версии всего.
VCS делится на две категории.
- Централизованная система контроля версий (CVCS), и
- Распределенная / децентрализованная система контроля версий (DVCS).
В этом руководстве мы сконцентрируемся только на централизованной системе контроля версий и особенно на Subversion . Subversion относится к централизованной системе контроля версий, что означает, что он использует центральный сервер для хранения всех файлов и обеспечивает совместную работу команды.
Терминология контроля версий
Давайте начнем с обсуждения некоторых терминов, которые мы будем использовать в этом руководстве.
Репозиторий: Репозиторий является сердцем любой системы контроля версий. Это центральное место, где разработчики хранят всю свою работу. Репозиторий хранит не только файлы, но и историю. Доступ к репозиторию осуществляется через сеть, выступая в роли сервера и инструмента контроля версий, выступающего в роли клиента. Клиенты могут подключаться к хранилищу, а затем они могут сохранять / извлекать свои изменения в / из хранилища. Сохраняя изменения, клиент делает эти изменения доступными для других людей, а путем извлечения изменений клиент воспринимает изменения других людей как рабочую копию.
Магистраль: Магистраль — это каталог, в котором происходит вся основная разработка, и обычно проверяется разработчиками для работы над проектом.
Теги : каталог тегов используется для хранения именованных снимков проекта. Работа с тегами позволяет задавать описательные и запоминающиеся имена конкретной версии в репозитории.
Например, LAST_STABLE_CODE_BEFORE_EMAIL_SUPPORT более запоминающимся, чем
UUID репозитория: 7ceef8cb-3799-40dd-a067-c216ec2e5247 и
Редакция: 13
Ветви: Операция ветвления используется для создания другой линии развития. Это полезно, когда вы хотите, чтобы процесс разработки проходил в двух разных направлениях. Например, когда вы выпускаете версию 5.0, вы можете захотеть создать ветку, чтобы разработка функций 6.0 могла быть отделена от исправлений ошибок 5.0.
Рабочая копия: Рабочая копия — это снимок хранилища. Репозиторий является общим для всех команд, но люди не изменяют его напрямую. Вместо этого каждый разработчик проверяет рабочую копию. Рабочая копия — это личное рабочее место, где разработчики могут выполнять свою работу, оставаясь изолированными от остальной части команды.
Фиксация изменений. Фиксация — это процесс сохранения изменений с частного рабочего места на центральный сервер. После фиксации изменения становятся доступными для всей команды. Другие разработчики могут получить эти изменения, обновив свою рабочую копию. Фиксация — это атомарная операция. Либо весь коммит успешен, либо откатан. Пользователи никогда не видят наполовину завершенный коммит.