Organizzazione di più progetti su GitHub

1

Sono uno sviluppatore freelance. Ho più clienti, ogni cliente ha più progetti e ogni progetto ha più pezzi distinti di software. Recentemente ho migrato tutto il mio controllo del codice sorgente dal mio vecchio servizio di subversion a un account github aziendale.

La mia domanda è, qual è una strategia praticabile per l'organizzazione di clienti, progetti e applicazioni, dove gli strumenti a mia disposizione sono l'interfaccia di GitHub più le strutture di directory nei miei repository?

Attualmente ho solo un repository per applicazione, e do il nome al repos Client_Project_Application . È un po 'brutto perché ho questo enorme elenco ingestibile di repository e anche se voglio concedere a qualcuno il permesso di accedere a un intero cliente o progetto, è noioso farlo per ogni repository applicabile individualmente. È anche difficile trovare rapidamente repository specifici sul sito Github e sull'app desktop.

Quello che voglio essere in grado di fare è:

  • Mantieni separati tutti i client, idealmente con la possibilità di concedere a un utente il permesso di contribuire alla raccolta di un intero cliente o all'intero progetto.
  • Mantieni ogni applicazione separata, perché quando cloro il repository su una macchina di sviluppo non sempre voglio tutto (esempio pratico: se ho un'applicazione desktop con 5 gb di dati e un'applicazione raspberry pi associata, non c'è motivo per afferrare la massiccia app desktop su una macchina pi-dev - a volte non è nemmeno possibile)
  • Trova / sfoglia facilmente i repository per un client e un progetto specifici su github.com e su github desktop, ovvero un modo per tenere le cose associate vicine anziché nella lista piatta di tutto il mondo di recente utilizzata.
  • Preferisco lavorare visivamente il repository il più possibile, cioè tramite github.com e github desktop, specialmente quando si tratta di repository clonati perché ho difficoltà a ricordare nomi di pronti per l'uso precisi.
  • Preferirei davvero non dover aggiungere ulteriori passaggi alla normale modifica - > commit - > spingere il flusso di lavoro.

Come si svolge solitamente questo tipo di organizzazione? Sono aperto a un completo cambiamento della mia attuale "strategia", sono sempre stato organizzato male e ho bisogno di fare grandi cambiamenti qui.

    
posta Jason C 19.01.2018 - 18:21
fonte

1 risposta

2

Puoi utilizzare organizzazioni , ovvero un'organizzazione per cliente.

Con un'organizzazione puoi creare più repository e gestire i permessi su un repository e / o livello di organizzazione.

Il piano del team è probabilmente sufficiente per la necessità che descrivi e puoi facilmente includerlo nel prezzo del tuo servizio.

Bonus se vuoi o hai bisogno di una gestione dei progetti per tutti e su tutti i clienti dai un'occhiata a Zenhub , hanno un buon supporto per archivi cross repositories / organizzazioni. Ancora una volta fai pagare i clienti per questo.

    
risposta data 19.01.2018 - 23:50
fonte

Leggi altre domande sui tag