2011-02-07 9 views
7

Sono un designer che sta cercando di alleviare il dolore della gestione dello sviluppo dei miei siti web. Recentemente ho scoperto Git e finora è stato molto facile da imparare. Da quanto ho capito, è possibile utilizzare Git come metodo per distribuire queste modifiche utilizzando due o più repository; uno dei quali è il maestro. Sono particolarmente interessato ad avere un ambiente di sviluppo, un ambiente di test e un sito di produzione.Consigli per l'utilizzo di Git per gestire lo sviluppo di siti Web?

Così ho alcune domande:

È accettabile utilizzare Git in questo modo?

Quale è meglio; memorizzando il master repository sul tuo computer locale e spingendo le modifiche al server di produzione e testing? O è meglio memorizzare il master sul proprio server di produzione e accedere al computer locale per apportare modifiche?

Se sì, come realizzeresti entrambi i metodi?

risposta

3

Qui potrebbe esserci un po 'di confusione quindi cercherò di chiarire le cose.

Un repository è solo una copia del codice. È possibile avere diverse copie del codice (ad esempio diverse copie del repository, ad esempio: una sul computer di sviluppo, una sul server di test e una sul server di produzione). Tutto proviene dallo stesso codice, potresti avere ogni repository con commit diversi (un insieme di modifiche) o un ramo diverso.

Il mio suggerimento sarebbe di lavorare in questo modo. Crei un repository con il tuo codice facendo nella directory root del progetto che vuoi eseguire con git.

git init 

Ora è possibile creare diversi rami del codice. Uno si chiamerebbe "master" (di solito viene chiamato così) e viene utilizzato per memorizzare il codice di produzione. Un altro ramo può essere chiamato "sviluppo". Quindi, quando inizierai a giocare con il tuo sito web, passerai al ramo di sviluppo nella tua copia locale del tuo repository, effettuerai le modifiche, eseguirai il commit su quel ramo, e spingerai le modifiche al repository nel tuo server di test (che tu vorresti di solito rimangono nel ramo "sviluppo"). Esegui il test del tuo codice e, quando ritieni che sia corretto, unisci le modifiche di sviluppo al master e quindi lo invii al repository del server di produzione (che di solito si trova nel ramo "master").

Si consiglia vivamente di utilizzare github.com, potrebbe davvero semplificare le cose e anche aiutare a mantenere copie del codice in sicurezza. Inoltre, non è necessario creare server git per poter applicare modifiche a ciascuna copia del codice, ma basta aggiornare la tua copia github e in seguito puoi eseguire modifiche da ciascuna versione del codice (ad esempio test e produzione) .

Tutto ciò che ho spiegato qui potrebbe essere un po 'di confusione, è possibile controllare un libro per capire la differenza tra un repository stesso e un ramo in un repository. Git è un'ottima scelta per mantenere il tuo codice organizzato.Se si decide di andare con esso, si può dare un'occhiata a questo sito http://gitimmersion.com/

+0

Grazie. Quel sito sembra utile, gli darò una lettura. Giusto per chiarire, puoi unire le modifiche da un ramo all'altro senza doverli unire di nuovo al master? – Mindthetic

+0

Sì, è possibile unire i commit in qualsiasi altro ramo in modo indipendente, senza che il master diventi un "punto intermedio". – acadavid

+0

Grande. Nel tuo esempio il repository principale è decentralizzato dall'intero setup, ad es. non viene utilizzato come server di produzione (o sito attivo). Che vantaggio ha questo? Grazie molto. – Mindthetic

3

È una grande idea usare Git in questo modo. Da quello che ho visto, la maggior parte delle persone ha il master sulle proprie macchine locali e invia a un server di produzione/test.

C'è una bella guida all'utilizzo Git per questo scopo qui: http://toroid.org/ams/git-website-howto

Se si vuole una macchina di prova, così, eseguire le fasi descritte in 'repository remoto' di nuovo su una macchina diversa e aggiungerlo come remoto con un nome diverso.

Problemi correlati