Version Control: Git e SVN

Controllo di versione e un confronto di Git e SVN. Il controllo delle versioni consente a più sviluppatori di lavorare sullo stesso progetto, ma che è meglio? Git o SVN?

A+ A-

Il controllo delle versioni consente di tenere traccia di tutte le versioni dei vostri progetti e le modifiche al codice. Si mantiene un repository del progetto file insieme con tutti i cambiamenti e le modifiche apportate a questi file. Questo a sua volta permette a chiunque di lavoro con il progetto per accedere alle modifiche che li e perché fatti. È essenziale che gli sviluppatori hanno accesso a queste informazioni.

Controllo della versione Git e SVN

Ci sono due principali repository di controllo versione Git: e SVN, ciascuno dei quali è un software libero distribuito sotto la GNU General Public License . SVN è l'abbreviazione di subversion mentre Git è proprio questo. Ci sono differenze tra i due che attirano i propri aderenti, anche se molti influenza verso Git a causa del controllo che hanno sui depositi con cui stanno lavorando. Maggiori informazioni su questo a breve.

La necessità di controllo della versione

All'interno di un gruppo di sviluppatori ogni individuo deve essere in grado di accedere alla versione corrente di un progetto. Essi devono anche essere in grado di lavorare su tale versione individualmente; codice non è un libro della biblioteca che può in prestito, cambiato e poi mettere di nuovo indietro. Ogni membro della squadra deve avere accesso in caso di necessità, e non aspettare che il codice deve essere restituito prima di poter vedere la versione più recente.

Un problema importante con due sviluppatori a lavorare sullo stesso progetto, allo stesso tempo è che ogni sviluppatore successiva sarà salvare il progetto e quindi sostituire tutte le modifiche effettuate in precedenza senza traccia di loro. Il controllo delle versioni consente agli sviluppatori di accedere a un progetto e lavorare su di esso, mentre altri stanno facendo lo stesso. Una volta che hanno completato il loro lavoro, che sarà rispedito al repository con i cambiamenti fuse in controllo di versione.

Che cosa questo significa è che c'è una copia di tutte le versioni disponibili per gli sviluppatori. In caso di variazione non funzionare come dovrebbe, è sufficiente tornare alla versione precedente e ricominciare. Non è necessario per accedere a tutti i cambiamenti e li rimuove per tornare allo stato precedente di sviluppo. la storia del codice è essenziale, e senza il controllo di versione non ci sarebbe stato.

Caratteristica Blame

La funzione di colpa si riferisce a uno sviluppatore, è dire, scoprire perché una particolare modifica del codice è stato fatto. Utilizzando il controllo di versione è possibile stabilire l'autore di questo cambiamento e chiedere il ragionamento. Questo può essere per motivi pedagogici, o per stabilire chi ha bisogno di riqualificazione!

Dato che la spiegazione di controllo di versione, che è meglio: Git o SVN? Ce ne sono altri, ma questi sono i due depositi più popolari. Ecco come funziona ciascuna:

SVN (subversion)

SVN è abbastanza semplice da usare. Se si utilizza WordPress, questo è il plugin vi sarà probabilmente utilizzato. Il repository si presenta sotto forma di un server centrale con tre aree fondamentali: il tronco, i rami ei tag.

Il bagagliaio

Il tronco è dove si dovrebbe tenere il codice stabile. Non si dovrebbe mai inviare alcun codice non dimostrata sperimentale qui, perché è qui che altri sviluppatori che lavorano sullo stesso progetto saranno accedere agli aggiornamenti praticabili. Gli unici cambiamenti da unire nel bagagliaio dovrebbe essere finito codifica.

filiali

Quando si lavora sui nuovi sviluppi, non aggiungerli al tronco, come spiegato sopra, ma dovrebbe diramare il codice fuori. Quello che fate è quello di memorizzare una copia del tronco come è quando si inizia in una cartella nell'area 'ramo'. È quindi possibile lavorare su di essa da lì, e unire di nuovo al tronco solo quando il codice è completo.

Ciò significa che si può portare avanti con il vostro sviluppo nel proprio spazio senza interrompere qualsiasi codifica già completo. Gli altri possono fare lo stesso, mantenendo intatto il tronco fino a quando sono stati dimostrati cambiamenti permanenti.

tag

Come il termine suggerisce, si utilizza questo per etichettare il vostro codice. E 'semplicemente una copia del codice corrente inserito in una cartella tag che è possibile utilizzare per tornare al progetto come lo era quando si classificarla come tale. Non si utilizza un tag per lavorare o - è semplicemente un segnalibro di dove eravate in quel momento specifico nel caso in cui si deve fare marcia indietro.

I tag sono generalmente utilizzati quando il codice è pronto per essere distribuito. Una volta che è stato completato e fuse nel tronco, testato, sarà testato - allora si sarebbe contrassegnare il tronco. Appena prima del rilascio. Poi si rilascia lo sviluppo al server di vivere. Se il rilascio non funziona come previsto, è possibile contrassegnare quel tag come rotto e ripristinare il tag precedente per risolvere il problema.

Come GIT Opere

La differenza principale tra Git e SVN è che il primo ha un certo numero di depositi, rispetto a quello di SVN. Con Git, vi è un repository centrale, ma ci sono anche i singoli depositi per ogni sviluppatore.

Ciò permette, è per sviluppatori di lavorare nel proprio repository se quello centrale è in avaria. Il problema con SVN è che in caso di guasto repository, nessuno può commettere qualsiasi codice fino a quando non è stato riparato. Non così con Git. Non esiste una hold-up, e tutti possono continuare il loro lavoro fino a quando il depositario centrale è tornato alla normalità - poi si può distribuire il loro codice in esso.

Git repository individuali

repository individuali sono veloci, e permettono agli sviluppatori di lavorare da soli fino a che non sono pronti a distribuire il loro codice.

  1. In primo luogo si clona il repository principale, la creazione di un repository locale sul proprio computer.
  2. È quindi possibile lavorare su questo.
  3. Se il codice dimostra di operare bene nel clone, è possibile spingere le modifiche nel repository principale. In caso contrario, non si è danneggiato il padrone.

Nel passaggio 1, è possibile lavorare fondamentalmente come si farebbe con SVN: la creazione di rami e tag utilizzando il padrone clonato come il tronco. Gli sviluppatori preferiscono Git perché ognuno ha il proprio repository con cui lavorare, e non hanno bisogno di commettere alcun codice prima di aver testato a fondo nella loro clone.

Un altro vantaggio di Git che molti piace è che non hanno bisogno di essere collegato in linea. Essi possono memorizzare il repository principale clone sul proprio computer e lavorare da lì. Essi possono quindi lavorare su progetti, senza la necessità di cercare una connessione o un hotspot wireless.

VEDI ANCHE: Come utilizzare Git su Windows? .

Repository interamente

Git consente di avere repository locali pubblici e privati. Altri sviluppatori possono tirare le modifiche da repository locale; da qui la necessità di un deposito privato per evitare che questo accada. Si può anche spingere i cambiamenti dal repository pubblico su SSH. E 'in gran parte a causa della capacità di Git per consentire di usare repository clonato e locali che molti sviluppatori preferiscono a SVN.

Forking Repo: quando utilizzarlo

"Repo Bivio" è l'uso quando si vuole aggiungere un contributo al progetto di qualcun altro, o utilizzare il loro progetto come punto di partenza per il proprio. Quando la forcella, si crea essenzialmente un clone del repository insieme con la sua storia, alla quale si può commettere il proprio lavoro.

Se si utilizza il modello fork-e-tira di sviluppo open source, è possibile per voi di iniziare a fare modifiche senza autorizzazione dei titolari del progetto. Se si vuole contribuire con le tue lavoro schiena, è possibile inviare una 'richiesta di pull' dalla repo biforcuta al repo originale.

Per creare una forchetta, prima individuare il repository da biforcuta. Per fare questo è possibile utilizzare la funzione 'cerca' sulla barra dei menu Bitbucket. Vai al repository e quindi fare clic sul pulsante 'Forcella'. Sarà quindi visualizzare le opzioni della forcella che si possono definire. Questi includono opzioni come proprietario, descrizione, i permessi, ecc

Dopo aver completato questi, cliccare sulla forcella Repository e si può continuare a lavorare sulla forcella. Una volta aver effettuato le commit necessarie, si può spingere di nuovo nel progetto biforcuta nella stessa, come si farebbe con un repository regolare. È anche possibile tirare le modifiche a monte al repository originale utilizzando il codice:

git fetch upstream
git merge upstream/master

Questo tira le modifiche apportate al originale dopo aver clonato nel vostro clone e, si può quindi continuare a lavorare sulla versione più recente del repository.

È necessario rendere la propria decisione su quale repository di controllo della versione più vi aggrada. In alcuni casi, un eccesso di complicazione di controllo di versione può essere fonte di confusione, ma è importante che siete a conoscenza di ciò che è a vostra disposizione. Quali repository di controllo della versione che si sta utilizzando, che uno si sente meglio, condividere i tuoi pensieri in forma di commenti qui sotto.