Ho anche un flusso di lavoro simile. Anche se si sta lavorando a un ramo alla volta, trovo utile avere rami separati per diversi stati di lavoro. Ad esempio, immagina di inviare una buona bozza del tuo documento al tuo consulente. Quindi, hai un'idea folle! Volete iniziare a cambiare alcuni concetti chiave, rielaborare alcune sezioni principali, ecc. Ecc. Quindi vi ramificate e iniziate a lavorare. Il tuo ramo principale è sempre in uno stato "rilasciabile" (o vicino come sei in quel momento). Quindi, mentre l'altro tuo ramo è pazzo e ha alcuni cambiamenti drastici, se un altro editore vuole vedere quello che hai, o sei uno studente che si sottopone a una conferenza, il ramo principale è sempre rilasciabile, pronto a partire (o pronto a mostrare il tuo consulente). Se il tuo dottorando vuole vedere la bozza per prima cosa al mattino,
Supponiamo che il tuo ramo principale abbia lo stato "rilasciabile" del tuo lavoro. Ora vuoi inviarlo a diverse riviste peer-reviewed, ognuna con requisiti di formattazione diversi per lo stesso contenuto e ti aspetti che tornino con diverse e piccole critiche su come modificare il documento per adattarlo ai loro lettori, ecc. È possibile creare facilmente una filiale per ogni giornale, apportare modifiche specifiche al giornale, inviare e, quando si riceve il feedback, apportare le modifiche su ciascun ramo separato.
Ho anche usato Dropbox e git per creare il sistema che descrivi sopra. È possibile creare un repository bare-bones nella cartella dropbox. Puoi quindi spingere / estrarre da entrambi i computer nel tuo dropbox per rimanere aggiornato su tutti i fronti. Questo sistema di solito funziona solo quando il numero di collaboratori è ridotto poiché esiste la possibilità di corruzione se le persone provano a inviare contemporaneamente al repository dropbox.
Tecnicamente potresti anche mantenere UN solo repository all'interno della cartella dropbox e fare tutto il tuo lavoro da lì. Vorrei scoraggiare questo, tuttavia, poiché la gente ha detto che Dropbox ha qualche problema a sincronizzare i file che cambiano costantemente (gits file interni).