Domanda

Qual è la differenza tra SCM e SVN? E in che modo Git differisce dal mercuriale?

È stato utile?

Soluzione

SCM generalmente significa Gestione della configurazione del software, che include CMRM (Change Management fino alla gestione del rilascio), incluso il versioning.

SVN è solo un VCS: strumento di controllo versione.

Quindi uno è molto più completo e copre più completamente il ciclo di vita dello sviluppo, pur essendo generico: il server di fondi di squadra o il concerto di team razionale - sono entrambi esempi di SCM.

Altri suggerimenti

SCM è la gestione della configurazione del software e SVN è uno strumento di sistema di controllo della versione, che è un sottoinsieme di SCM. I VC sono anche chiamati Revision Control e Git, Mercurial sono anche strumenti VCS (VC distribuiti per essere più specifici.)

SVN, GIT, mercuriale, ecc. Sono strumenti per il controllo della revisione, uno dei processi in SCM. SCM include anche la gestione della build, il monitoraggio dei difetti ecc.

SCM è un termine generico che non significa davvero molto. L'ho sentito come "gestione della configurazione del software", "gestione del cambiamento del software" e "gestione del codice sorgente", e ce ne sono probabilmente altri. Fondamentalmente è il marketing che parla per quanto posso dire.

Se lo vedi come un significato qualcosa di simile a quest'ultima frase, allora SVN (abbrevazione di sovversione), GIT e mercuriale sono tutti tipi particolari di sistemi SCM. Git e mercuriale sono approssimativamente equivalenti. Ci sono lievi differenze, ma le preferenze personali sono davvero la maggior parte di ciò che conta. Entrambi sono quelli che sono chiamati sistemi di controllo della revisione distribuita, il che significa che non è necessario fare affidamento sulla posizione centrale. Ogni persona che li usa può funzionare in modo indipendente e sincronizza tutto in modo più o meno indipendente.

La sovversione è centralizzata. Mira a risolvere lo stesso tipo di problemi, ma lo fa forzando tutte le attività a passare attraverso una posizione che tutti usano. Ciò rende molte cose più facili da gestire, ma a costo di una grande quantità di flessibilità. Ancora una volta, le preferenze personali impongono che preferiresti.

Ho provato sia Git che Mercurial (e attualmente uso mercuriale). Da quello che ho visto Git sembra essere un po 'più veloce e forse più versatile, ma questo ha un costo della curva di apprendimento. Quando all'inizio li ho provati entrambi, non avevo altri collaboratori su cui fare affidamento per informazioni e ho trovato la curva di apprendimento di Git molto più ripida di quella di Mercurial. Inoltre ho scoperto che Mercurial è molto più facile da usare da Windows (che è la mia piattaforma di sviluppo principale).

Mercurial ha supporto per Git e probabilmente anche il contrario è vero, quindi probabilmente potresti provare uno e passare in seguito se hai trovato la necessità.

SVN (Subversion) è uno strumento che fornisce funzionalità di versioning. Gli sviluppatori hanno utilizzato questo strumento per verificare i loro codici. Usando questo possiamo rintracciare le modifiche apportate ai file/codici durante il processo di sviluppo del software.

Gestione della configurazione del software è una pratica che utilizzava per rintracciare e controllare i cambiamenti nello sviluppo del software. Include tutti i processi necessari per creare, pacchetto e distribuire software.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top