Se tutti gli sviluppatori hanno accesso al repository, non dovrebbe essere necessario fare qualcosa di speciale. Tireranno le modifiche dal repository, apportano le proprie modifiche, eseguono il commit localmente e poi tornano al repository pubblico quando hanno qualcosa di funzionante.
Se d'altra parte hai uno (o pochi) sviluppatori responsabili del commit sul repository e gli altri forniscono patch a questi. Chiedete a ciascuno di loro di duplicare il repository nei propri account e inviateli a inviare richieste di pull quando hanno un cambiamento che desiderano nel repository principale.
È anche possibile creare cloni specifici per lavorare su caratteristiche specifiche, se lo si desidera. Utilizzare lo stesso flusso di lavoro con le richieste di pull per ottenere modifiche nel repository principale quando la funzione è terminata.
Se per "Tutti gli sviluppatori avranno un account universale", significa che tutti gli sviluppatori condivideranno un account GitHub e appariranno come lo stesso committer nel repository, è una cattiva idea. Crea account separati e configurali come collaboratori se vuoi che tutti abbiano l'accesso al commit.
Per le tue domande specifiche:
-
No, usa i rami per funzioni, correzioni ecc. che richiedono più di un commit. Più di uno sviluppatore può lavorare sullo stesso ramo.
-
Sì, git gestisce i conflitti molto bene, quindi non ci sono problemi nel far lavorare le persone sullo stesso file. Nessun problema tranne che la risoluzione dei conflitti potrebbe non essere sempre banale se sono presenti modifiche fondamentali a un file che è stato modificato da più di un membro. Questo è comunque nulla che non può essere superato parlando insieme. Il controllo della versione non sostituisce la comunicazione.
Buona fortuna!