Gestione della base di codice per l'edizione base e pro di un progetto

3

Ho un progetto che avrà un'edizione base e professionale. L'edizione professionale avrà tutte le caratteristiche dell'edizione base. Sto usando git per gestire il codebase del progetto.

Considero che forzerò il repo dell'edizione di base dopo averlo completato. Quindi, inizierò a codificare l'edizione professionale sul repository biforcato.

Il mio problema è che se ci fosse un bug nella versione base in futuro, non voglio correggere il bug nella versione base e nella versione professionale due volte. Come gestire questa situazione?

    
posta haitaka 15.11.2013 - 13:19
fonte

2 risposte

3

Non darei per scontato l'edizione pro: sarebbe quasi come dire che si tratta di un progetto correlato, ma diverso. Non è così: è una versione più completa e condivide così tanto del codice che giustamente temete che dovrete correggere un errore due volte. Quindi, non farlo e cambia idea. Puoi implementare una versione pro in diversi modi: distribuisci la versione completa e disabilita alcune funzionalità nella versione di base, adotta una soluzione modulare in cui la versione pro ha "di più", o più potenti, plug-in / moduli ...

Quindi condividi una base principale e tutto il test, le correzioni dei bug, la documentazione e i tuoi investimenti in termini di tempo e risorse saranno utili per il tuo progetto nel suo insieme.

    
risposta data 15.11.2013 - 14:19
fonte
2

Bene, git è molto carino in quanto ti permette di avere più telecomandi.

Ad esempio, puoi averlo in .git / config:

[remote "basic"]
    url = [email protected]:haitaka/project-basic.git
    fetch = +refs/heads/*:refs/remotes/origin/*

[remote "pro"]
    url = [email protected]:haitaka/project-pro.git
    fetch = +refs/heads/*:refs/remotes/origin/*

Questo ti permette, mentre sei nel tuo progetto professionale, di fare questo:

git pull basic master

E unirà le modifiche dal progetto di base al progetto pro.

Ovviamente, questo funzionerà solo se le funzionalità pro sono completamente separate dalle funzionalità di base, in codice.

    
risposta data 15.11.2013 - 13:24
fonte

Leggi altre domande sui tag