Я добавил комментарий, но я думаю, что он может претендовать на ответ, а также. У меня немного другое представление, но некоторые из других комментариев уже высказаны.
В целом SCM (Управление конфигурацией программного обеспечения) или (Исходный код управления - производный термин) легко понять, поскольку он используется в качестве зонтичного термина, который включает в себя как контроль версий, так и другие методы, такие как управление базовым уровнем. См. http://en.wikipedia.org/wiki/Software_configuration_management. В общем, современные инструменты SCM, которые варьируются от CVS до Git, включают в себя обе эти технологии и многие другие полезные функции, такие как: контроль разрешений, управление правами, аудит безопасности, возможность настройки потока SCM (ClearCase), интеграция со сборкой и отслеживание проблем программное обеспечение и т. д. Я думаю, что этот список открыт, потому что все, что связано с изменением программного обеспечения и управлением, может войти здесь.
Таким образом, основная путаница возникает из понимания разницы между контролем версий, контролем версий и, возможно, контролем версий. Прежде всего, все термины, которые включают «источник», являются все производными терминами, я имею в виду, что некоторые люди обеспокоены всеми этими родовыми терминами (управление конфигурацией - что это?) И настаивают на том, что они работают с исходным кодом, в частности, и они надеются не заботьтесь о других случаях использования; что справедливо.
Что касается контроля версий и контроля версий, я считаю, что правильный термин (в контексте таких инструментов, как SVN, Git) - это ревизионный контроль. На мой взгляд, с термином Revision Control основное внимание уделяется управлению изменениями (помимо управления версиями) файлов (не только) исходного кода, в то время как при управлении версиями основное внимание уделяется управлению только версиями файлов.
Теоретически кто-то может написать часть программного обеспечения, которая позволяет отслеживать и управлять двоичными файлами без двоичной разности и объединения поддержки и будет вызывать эту систему управления версиями. Однако в случае таких инструментов, как SVN, Git, они дополнительно позволяют управлять изменениями к файлам: diffing, merging и в случае Git знаменитого rebasing.
Итак, в заключение, Revision Control включает в себя управление версиями и более подходит для таких инструментов, как CVS, SVN, Git; в то время как Source Control является производным термином, и его следует избегать, если вы хотите назвать конкретный аспект SCM.
SCM > Revision Control > Version Control
Извините за свою щедрость: мой ответ (сделанный перед щедростью) был автоматически отобран (см. Также http://meta.stackexchange.com/questions/4508). Оставьте комментарий на мой ответ, если вы хотите, чтобы я подробно описал его по любой конкретной теме. – VonC
«Извините»: только потому, что мой ответ был сделан * до * щедрости и был только одобрен из-за увеличения видимости из-за щедрости. Но, похоже, он не привлек * новых * ответов * у вас может быть судья лучше (или он был, но вас не было во время истечения срока действия щедрости, чтобы выбрать его: теперь вы не можете выбрать какой-либо другой ответ когда-либо по этому вопросу) – VonC