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.