Управление версиями и контроль версий?
какое правильное имя для системы, которая хранит версии исходного кода, такие как SVN или TFS?
Я всегда называл это управление версиями, но такие места, как Википедия, называют его контролем версий?
чтобы сделать это более сложные сайты, такие как этот тег для обоих?
12 ответов:
Контроля Версий это более общий термин, используемый для инструментов управления версиями, но и для других инструментов (Word, OpenOffice, ...). Он ссылается на версию.
Системы Управления Версиями предлагает управление версиями с ветвлением и слиянием, которые не всегда доступны во всех инструментах редактирования (Word не является системой управления версиями, но предлагает функции управления версиями)
Контроля Версий - это более общий термин, чем управление версиями в том, что он управляет версией чего-либо (источники или двоичные файлы или любые документы)
Примечание: SCM означает управление исходным кодом, но и для управления программным кодом, чтобы отразить ту же идею (не только "источники" управляются).
Плюс SCM вводит понятие зависимостей между группами файлов.
И это также включает в себя понятие жизненного цикла (начало смены, закрытие смены, ...) приводящий изменить систему запросов.
Мне нравится думать об этом так:
Контроля Версий это они.
Системы Управления Версиями это я использую их для.
: -)
есть три синонима, описывающие почти одно и то же:
- контроля версий. Имеет дело с изменениями (документ / артефакт обзоры и последующие версии документа / артефакта) или цифры (как абстракция редакция концепция).
- системы управления версиями. Сделки с текст (исходные) файлы, не binary. Эта разница играет большую роль до тех пор, пока она гораздо проще выполнить сравнение и получить разницу между текст файлы. Существует целый ряд основных инструментов, связанных с управлением версиями:
diff,diff3,patchи т. д. Этот набор инструментов может быть расширен для формирования решения системы управления версиями. Примером такого решения является RCS.- управление исходным кодом. Имеет дело с более сложными операциями над исходным кодом: хранение его в
repositoryС возможностью создания отдельнойbranches. Оно также предполагается, что ветви могут бытьmerged. Другая часть управления исходным кодом являетсяtagging. Одна из проблем с управлением исходным кодом заключается в том, что он имеет аббревиатуру SCM. Эта аббревиатура используется для описания более широкого набора видов деятельности - Управление Конфигурацией Программного Обеспечения. Там много путаницы, потому что управление исходным кодом - это подмножество управление конфигурацией программного обеспечения который также имеет дело с такими видами деятельности, как построить управление,управление развертыванием,непрерывная интеграция,управление зависимостями,управление выпуском и т. д.- контроля версий. Он используется в качестве замены для такого термина, как управление исходным кодом во избежание двусмысленности. Она включает в себя оба понятия контроля версий и системы управления версиями что делает его описать почти та же концепция. В настоящее время оба термина контроля версий,системы управления версиями заменяется контроля версий как более подходящий с учетом широкого спектра инструментов (CVS, SVN, Git, Mercurial, ClearCase, Perforce, VSS и т. д.), которые решают обе задачи контроля версий и системы управления версиями одновременно.
изображение, чтобы проиллюстрировать более четкое различие между всеми этими понятия:
- Система Контроля Версий (VCS) является наиболее часто используемым термином
- Управление Исходным Кодом (SCM) используется в git, но это своего рода изобретение и его можно спутать с Управление Конфигурацией Программного Обеспечения, который уже используется в индустрии программного обеспечения, и это не одно и то же.
используемая терминология не очень точна. Существует статья, описывающая пять соответствующих измерений. Инструменты управления данными для разработки программного обеспечения, как правило, не поддерживают более трех из них последовательно в то же время. Если вы хотите поддержать все пять, вы должны описать процесс разработки:
- версия (семантика: модификации)
- вид (семантика: эквивалентность, Деривация)
- иерархия (семантика: состоит оф)
- статус (семантика: утверждение, доступность)
- вариант (семантика: вариации продукта)
Peter van den Hamer and Kees Lepoeter (1996) управление проектными данными: Пять измерений структур САПР, управление конфигурацией и управление данными о продуктах, труды IEEE, Vol. 84, № 1, Январь 1996
некоторые системы (например, SVN) имеют срок редакция что означает число, связанное с определенным набором версий всех файлов в репозитории. В таких системах редакция ( SVN revision) означает версия (источники версии). В противном случае контроля версий и контроля версий это те же термины.
нет "правильного" имени, четыре наименования:
- система контроля версий
- система контроля версий
- система управления
- система управления исходным кодом
другое название: version-control
на основе тегов, используемых на этом сайте, "source control" является самым популярным (что вполне нормально, так как этот сайт о программировании):
- управление версиями (633 метки)
- контроля версий (587)
- контроля версий (31)
MIL-STD 973 описаны управление конфигурацией.
управление конфигурацией программного обеспечения осуществляется точно так же.
посмотреть CMMI для хорошего объяснения SCM / CM.
системы о которых вы говорите являются системы контроля версий. Их версия вещи.
старый SCCS был системой управления исходным кодом.
системы управления исходным кодом сохранять историю изменений.
скажем, вы меняете a файл из редакции
1.1, 1.2, 1.3.
в 1.3 мы выпускаем "удивительное издание" нашего продукта.
1.3 версия AwesomeEdition-это версия.
в таких системах, как CVS , изменения происходят как изменения нумерации, а теги отмечают версии. Нумерация версий репозитория типа SVN сбивает с толку государственных заказчиков, которые ожидают MIL-STD вид поведения.
самое замечательное в стандартах управления изменениями - это то, что их так много выбирайте из них.
Если исторический приоритет-это что-то, что нужно пройти, термин должен быть контролем исходного кода-см. http://en.wikipedia.org/wiki/Source_Code_Control_System
Итак, что именно вы ищете сейчас?
Я не думаю, что есть один правильный термин. Оба термина, а также некоторые другие, уже упомянутые в других ответах, используются в основном для одного и того же.
люди, с которыми вы разговариваете, будут связывать его с немного другим значением, даже когда используют одно и то же слово для него - и они могут означать действительно точно то же самое, даже при использовании другого слова.
опять же, словарь, используемый вокруг этих вещей может также быть разными (или прикрепленными к разным значениям) в кругах вокруг различных программных реализаций этой концепции.
Я добавил комментарий, но я думаю, что он также может претендовать на ответ. У меня есть немного другое мнение, тогда некоторые из других комментариев уже высказаны.
В общем случае SCM (Software Configuration Management) или (Source Code Management - производный термин) легко понять, поскольку он используется в качестве зонтичного термина, который включает как контроль версий, так и другие методы, такие как базовое управление. Видеть http://en.wikipedia.org/wiki/Software_configuration_management. в целом современные инструменты SCM, которые варьируются от CVS до Git, включают в себя как эти методы, так и многие другие полезные функции, такие как: контроль разрешений, управление правами, аудит безопасности, возможность настройки потока SCM (ClearCase), интеграция с программным обеспечением для отслеживания сборки и проблем и т. д... Я думаю, что список открыт, потому что здесь можно ввести все, что связано с изменением программного обеспечения и управлением.
Так основная путаница возникает из понимания разницы между контролем версий, контролем версий и, возможно, контролем источника. Прежде всего, все термины, которые включают "источник", являются производными терминами, под этим я подразумеваю, что некоторые люди обеспокоены всеми этими общими терминами (управление конфигурацией - что это?) и настаивают на том, что они работают с исходным кодом в частности, и они не заботятся о других случаях использования; что справедливо.
Что касается контроля версий против контроля версий I думаю, что правильный термин (в контексте таких инструментов, как SVN, Git) - это контроль версий. На мой взгляд, с термином контроль версий акцент делается на управлении изменением (помимо управления версиями) файлов исходного кода (не только), в то время как с контролем версий акцент падает на управление только версиями файлов.
в теории кто-то может написать часть программного обеспечения, которое позволяет отслеживать и управлять двоичным файлы без двоичных различий и слияния поддержка и вызов этой системы управления версиями. Однако в случае таких инструментов, как SVN, Git они дополнительно позволяют управлять изменения для файлы: сравнения, слияния и в случае с Git знаменитый перебазирования.
таким образом, в заключение контроль версий включает контроль версий и более подходит для таких инструментов именования, как CVS, SVN, Git; в то время как управление версиями является производным термином и его следует избегать, если вы хотите назвать конкретный аспект SCM.
SCM > Revision Control > Version Control

Comments