Flusso di lavoro PHP e Subversion [duplicato]

0

Sto lavorando a un progetto in un piccolo team al momento lavorando su una webapp. Inizialmente avevamo 3 membri del team con uno sviluppo principale e ora siamo cresciuti fino a 7 e uno sviluppatore principale.

Al momento il nostro flusso di lavoro è questo: lavoriamo tutti su un unico repository centrale e usiamo SVN. Una volta che il nostro ambiente di sviluppo diventa stabile, lo copiamo sul nostro sito di test, quindi lo mettiamo in diretta. Al momento sto provando a spingere una singola funzione dal vivo, quindi sto copiando alcuni pezzi dal nostro ambiente di sviluppo verso il nostro ambiente di test ed è un po 'un problema che ha spinto questo post.

(Disclaimer, la mia conoscenza del git è principalmente push, pull e commit) Nella mia mente dovremmo fare quanto segue: mantenere un ramo di codice. Ogni dev dovrebbe quindi creare una diramazione quando si lavora su una caratteristica, quindi una volta completata la si unisce al ramo principale.

Il mio capo, lo sviluppatore principale, ritiene che la fusione in PHP sia un rompicapo. Non riesco a pensare al motivo per cui sarebbe diverso da qualsiasi altra lingua, ma non ho l'esperienza per conoscerla meglio. È un flusso di lavoro che dovremmo esaminare o esiste un modo migliore? In che modo funziona il tuo flusso di lavoro?

Grazie

    
posta Peck3277 06.05.2015 - 12:26
fonte

1 risposta

0

L'unione in SVN non è diversa dall'unione in git: se il computer riesce a capirlo, lo fa e va tutto bene, se richiede l'attenzione manuale, ti viene richiesto. (eccezione: la gestione di SVN di file nuovi / cancellati / rinominati è scarsa, ma git può avere problemi anche in quest'area).

Quindi, in questo modo si può davvero pensare a SVN come a un clone di un repository a cui si fa riferimento. Una volta che si ha una copia funzionante, la si modifica e si effettuano le modifiche - vengono effettivamente impegnate e spinte in un'unica fase e il repository di origine trasferisce automaticamente le modifiche su di esso. Tutto molto semplice.

Branching: non molto diverso qui, crea un ramo fuori dal tronco per dev, fai il lavoro, quindi uniscilo sul tronco. Molto semplice, davvero facile. Funziona.

Una volta che hai un baule stabile con tutte le funzionalità che desideri, dovresti creare o aggiornare un tag - questo è solo un ramo con un nome diverso. Manterrei un tag per il test e gli ambienti live, basta unire il tronco al tag di prova quando sei pronto per la distribuzione e l'ambiente di test può semplicemente aggiornare la sua copia di lavoro da quel tag. Quando viene superato il test, unisci il tag di test a quello attivo o (meglio) crea un nuovo tag live dal ramo di test.

Non ho mai trovato git v svn particolarmente diverso, ovviamente lo strumento è solo il concetto di ramificazione, unione e aggiornamento è più o meno lo stesso. Quello che dovresti fare con git è lo stesso con svn - solo con un repository centrale che trasferisci i file da o verso invece di premere e tirare su repository diversi, la 'copia di lavoro' SVN è l'equivalente del tuo repository git locale.

Questa è una descrizione molto approssimativa. In pratica, il tuo vecchio flusso di lavoro dovrebbe essere ancora quello da utilizzare con SVN.

    
risposta data 06.05.2015 - 13:17
fonte

Leggi altre domande sui tag