Разница между SCM и SVN

в чем разница между SCM и SVN? И чем git отличается от mercurial?

5 ответов


SCM обычно означает Управление Конфигурацией Программного Обеспечения, которые включают CMRM (Управление изменениями до управления выпуском), включая управление версиями.

SVN-это только VCS: инструмент управления версиями.

таким образом, один гораздо более полный и охватывает более полный жизненный цикл разработки, будучи общим: Team Fundation Server или RTC - Rational Team Concert - оба примера SCM.


SCM-это управление конфигурацией программного обеспечения, а SVN-это системный инструмент управления версиями, который является подмножеством SCM. VCS также называются контролем версий и Git, Mercurial также являются инструментами VCS (распределенные VCS, чтобы быть более конкретными. )

SVN, Git, Mercurial и т. д. являются инструментами для контроля версий, одним из процессов в SCM. SCM также включает в себя управление сборкой, отслеживание дефектов и т. д.


SCM-это общий термин, который на самом деле ничего не значит. Я слышал, что это означает "управление конфигурацией программного обеспечения", "управление изменениями программного обеспечения" и "управление исходным кодом", и, вероятно, есть другие. Это в основном маркетинг, насколько я могу судить.

Если вы рассматриваете его как что-то вроде последней фразы, то SVN (аббревиатура Subversion), git и Mercurial-это все конкретные типы систем SCM. Git и Mercurial примерно эквивалентны. Есть небольшие различия, но личные предпочтения действительно большинство вопросов. Оба они называются распределенными системами контроля ревизий, что означает, что ни на одно центральное местоположение нельзя полагаться. Каждый человек, используя их, может работать независимо,и они синхронизируют все более или менее независимо.

в Subversion является централизованной. Он направлен на решение одних и тех же проблем, но делает это, заставляя всю деятельность проходить через одно место, которое каждый использует. Это упрощает управление многими вещами, но за счет довольно большой гибкости. Опять же, личные предпочтения диктуют, что вы предпочтете.


Я пробовал как Git, так и Mercurial (и в настоящее время использую Mercurial). Из того, что я видел, Git кажется немного быстрее и, возможно, более универсальным, но это стоит кривой обучения. Когда я сначала попробовал их обоих, у меня не было других сотрудников, на которых можно было бы положиться для информации, и я обнаружил, что кривая обучения Git намного круче, чем у Mercurial. Также я обнаружил, что Mercurial намного проще использовать из Windows (это моя основная платформа разработки).

Mercurial имеет поддержка Git и наоборот, вероятно, тоже верна, поэтому вы можете попробовать любой из них и переключиться позже, если найдете необходимость.


SVN (Subversion) - это инструмент, обеспечивающий функциональность управления версиями.Разработчики использовали этот инструмент для проверки своих кодов. Используя это, мы можем отслеживать изменения, внесенные в файлы / коды в процессе разработки программного обеспечения.

Управление Конфигурацией Программного Обеспечения это практика, которая используется для отслеживания и контроля изменений в разработке программного обеспечения. Он включает в себя все процессы, необходимые для создания, упаковки и развертывания программного обеспечения.