Un titolo strano, sì, ma ho un po 'di terreno da coprire credo.
Abbiamo un account di organizzazione su github con repository privati. Vogliamo utilizzare le funzionalità native di problemi / richieste pull di github (le richieste pull sono fondamentalmente esattamente ciò che vogliamo per quanto riguarda le revisioni del codice e le discussioni sulle funzionalità). Abbiamo trovato lo strumento hub di defunkt che ha una piccola caratteristica di essere in grado di convertire un problema esistente in una richiesta pull e associare automaticamente il ramo corrente con esso.
Mi chiedo se sia una buona pratica che ogni sviluppatore dell'organizzazione imponga al repository dell'organizzazione di eseguire il proprio lavoro sulle funzionalità / correzioni di errori / ecc. Questo sembra un flusso di lavoro piuttosto solido (dato che è fondamentalmente il progetto open source ogni su github) ma vogliamo essere sicuri di poter tenere traccia dei problemi e ottenere le richieste da una fonte, il repository dell'organizzazione .
Quindi ho alcune domande:
- L'approccio di fork-per-developer è appropriato in questo caso? Sembra che potrebbe essere un po 'eccessivo. Non sono sicuro che abbiamo bisogno di un fork per ogni sviluppatore, a meno che non introduciamo sviluppatori che non hanno accesso diretto al push e hanno bisogno di rivedere tutto il loro codice. In tal caso, vorremmo istituire una politica del genere, solo per quegli sviluppatori. Quindi, che è meglio? Tutti gli sviluppatori in un unico repository o un fork per tutti?
- Qualcuno ha esperienza con lo strumento hub, in particolare con la funzione pull-request? Se facciamo un fork-per-developer (o anche per gli sviluppatori meno privilegiati) la funzionalità pull-request dell'hub funziona sulle richieste pull dal repository master upstream (il repository dell'organizzazione?) O ha un comportamento diverso?
Modifica
Ho fatto alcuni test con problemi, fork e richieste di pull e l'ho trovato. Se si crea un problema nel repository della propria organizzazione, quindi si esegue il fork del repository dalla propria organizzazione al proprio account github, si apportano alcune modifiche, si uniscono al ramo master della propria forcella. Quando provi a eseguire hub -i <issue #>
ottieni un errore, User is not authorized to modify the issue
. Quindi, apparentemente il flusso di lavoro non funzionerà.