Ho un progetto closed source che è stato creato sul mio framework open source. Voglio sapere come dovrei strutturare il mio flusso di lavoro. Di seguito è la mia ipotesi migliore usando git con i sottomoduli.Corretto flusso di lavoro Git per sistema operativo combinato e codice privato?
- creo un repo quadro sul pubblico github con sottomoduli che sono repo git separati.
- Acquisto un account "micro" su github ($ 7), quindi I può avere un repository privato.
- Creare un repository privato e clonare il repository pubblico.
Da qui posso apportare modifiche a:
- Il mio codice privato e spingere al mio repo privato su github
- Il codice del framework pubblico e spingere al mio repo github privato e quindi inviare un pull richiesta dal quadro pubblico ..? O come funzionerebbe?
Come gestisco un repository che contiene codice e sottomoduli privati e pubblici. In questo momento sembra che devo solo mantenere due codebase separati per raggiungere questo obiettivo.
Sto cercando la migliore risposta che possa aiutare qualcuno abbastanza nuovo a git a semplificare il processo di lavoro su un codebase che è metà open source e metà privato. Una cosa buona è che ogni cartella è privata o pubblica, quindi non c'è da preoccuparsi di avere file privati e pubblici insieme da qualche parte - eppure alcune delle cartelle private potrebbero essere pubbliche!
Un altro esempio che potrei dare sarebbe utilizzare zendframework per creare il sito della tua azienda privata pur essendo in grado di eseguire pull ogni giorno (e magari patch push) sul repository zend. E inoltre tira e spinge il tuo sito privato all'interno di zendframework.
Per esempio, immaginate una struttura di directory simile a questo:
/private_folder
/public
/public_folder
/public_folder2
/private_folder
Forse sto chiedendo due molto per gestire tutti in una directory uniti pronti contro termine. Forse non c'è un modo semplice per farlo e dovrei separarli e fare tutte le patch pubbliche in una sola e poi entrare nel mio repository privato. Ovviamente, questo significa che se mi trovo nel mezzo di lavorare su un codice privato, dovrò lasciare quel repository e aprire quello pubblico e modificare il codice patch, quindi tornare a quello privato, unire e quindi continuare a lavorare sul codice privato.
Hai menzionato Zend sopra. Questo significa che il tuo progetto è basato su PHP? O è solo un esempio? (Chiedo perché le lingue diverse impacchettano il codice in modi diversi e questo potrebbe influenzare il tuo flusso di lavoro.) –
Sì, è basato su PHP - quindi non è richiesto * building *. – Xeoncross