Modello di ramo GIT per lavori derivati

5

Sto pensando di utilizzare il modello di branching di Vincent Driessen che ho trovato perfetto per il mio lo sviluppo attuale. Penso che l'approccio di Vincent sia molto generale per qualsiasi progetto di sviluppo, ma trovo difficile gestire il seguente scenario.

Sto lavorando a un'applicazione che verrà etichettata a diversi clienti, quindi ognuno dei miei bundle è un ramo diverso che I rebase da develop branch ogni volta che verrà rilasciato un nuovo build. Ogni marchio ha le sue risorse (immagini e testo) e non sono in conflitto con le modifiche nel ramo develop perché in quel ramo non tocchiamo mai le risorse.

La mia domanda è, ora che ho intenzione di usarlo, come posso gestire versioni diverse basate sullo stesso codice ma con risorse diverse?

    
posta licorna 13.10.2010 - 21:24
fonte

2 risposte

1

Se ciascun marchio ha asset indipendenti, puoi creare ogni ramo cliente da develop e poi pull future modifiche come richiesto. Le singole risorse possono essere create, modificate e impegnate sul ramo del cliente appropriato.

Un buon effetto collaterale di questo è che potresti avere risorse comuni su develop se questo ha senso.

A seconda della distribuzione del tuo sviluppo, potresti considerare pull ing dal master piuttosto che rebase ing. Non vuoi rebase se i commit vengono trasferiti su altri repository.

Per riepilogare: modifiche al codice su develop ; variazioni di asset su customer-X ; occasionalmente pull da develop a customer-X . Ordinato.

    
risposta data 20.10.2010 - 02:00
fonte
3

Ho sfogliato l'articolo, quindi non posso essere sicuro di avere tutto al 100%, ma ecco la mia idea: puoi semplicemente modificare le tue risorse nel ramo master ? Oppure, se stai mantenendo i tuoi "rami di marca", modifica le tue risorse solo lì. Puoi quindi semplicemente unire il codice dal tuo develop , dato che non stai toccando alcun patrimonio lì.

Per essere onesti, se le risorse sono l'unico problema qui, vorrei creare un file di configurazione (o una tabella di database se ne hai uno) per la tua applicazione che gli dirà quali risorse caricare in modo dinamico. Ciò eliminerebbe qualsiasi "branca del marchio" e ti consentirà di mantenere facilmente le tue risorse facilmente.

    
risposta data 13.10.2010 - 23:23
fonte

Leggi altre domande sui tag