Al mio attuale datore di lavoro, stiamo usando un progetto open source ospitato su Github come componente della nostra applicazione. Ho lavorato a questo progetto sia per aggiungere alcune funzionalità di cui abbiamo bisogno sia per integrarlo con i nostri sistemi di compilazione. Il mio manager e io siamo d'accordo sul fatto che vorremmo inviare tutto il nostro lavoro su questo componente quanto è ragionevole tornare al progetto open source. La mia domanda è su quale sia il miglior flusso di lavoro / tecnica per mantenere il mio impegno Git in modo tale da poter facilmente separare le cose che hanno senso aggiungere al progetto open source - correzioni di bug e nuove funzionalità che sono sufficientemente generali - da elementi specifici del nostro progetto, come posizioni di costruzione e costanti dell'applicazione.
Quello che ho fatto finora è mantenere un ramo Git privato in cui applico tutti i miei cambiamenti, con un'adeguata granularità. Quindi uso cherry-pick
per aggiungere i commit open source al ramo master e inoltrarli a Github.
Sembra che dovrei usare la fusione per farlo, in modo da non continuare a creare commit separati con contenuti identici, ma non sono sicuro di come farlo, escludendo gli commit specifici dell'azienda e mantenendo un flusso di lavoro ragionevole.
Ad esempio, suppongo che potrei commettere cose open source su cose master e specifiche dell'azienda sul ramo privato, e quindi unire il master in quel ramo secondo necessità, lasciando il ramo master che punta al commit prima della fusione, in modo tale da poter commetti di nuovo cose open source e poi unisci nuovamente. Ciò che sembra imbarazzante in questo flusso di lavoro è che avrei bisogno di decidere in anticipo per tutto ciò che faccio su quale ramo apparteneva, lavorare su quello che sembrava un completamento, quindi impegnarlo e unirmi prima del test. Una delle cose che mi piace di più di Git è quanto sia facile fare tutto ciò di cui hai bisogno per far funzionare la tua applicazione, e poi decidere in seguito come e dove impegnare le tue modifiche. Per quanto ne so, se sei attualmente in una filiale e hai fatto un po 'di lavoro, lì'
Quello che sto facendo è un flusso di lavoro ragionevole per i contributi a lungo termine? Qualcuno può raccomandare un flusso di lavoro diverso che potrebbe essere migliore e perché è meglio?