Sto lavorando da solo su piccoli progetti di sviluppo nel mio tempo libero, usando Git. Per ogni progetto mi piace avere un diario di sviluppo associato a quel progetto e non associato ad altri progetti. Il journal è un semplice file di markdown, journal.md .
Ecco i miei requisiti per la gestione del journal nel mio flusso di lavoro:
-
deve esistere esattamente una versione gestita di
journal.mdnel repository del progetto; e -
Devo essere in grado di apportare modifiche a
journal.mdda qualsiasi ramo e mantenere quelle modifiche quando si controllano i vari rami tramitegit checkout(cioè, il file non deve cambiare come risultato del cambio di rami, e non deve essere cancellato quando si cambia succursale).
Sto cercando i flussi di lavoro (una sequenza di comandi Git per il cambio di rami, o un modo di memorizzare journal.md , o qualcos'altro che mi consente di lavorare normalmente in Git pur soddisfacendo i requisiti di cui sopra).
Ho esaminato le seguenti opzioni.
-
Mantieni un branch orfano separato
journal; commit il journal iniziale e gli aggiornamenti del journal su questo ramo e nessun altro ramo. Questo soddisfa il primo requisito, ma il secondo requisito è più complicato a causa del comportamento digit checkout.- Supponiamo che abbia finito il giorno e abbia impegnato gli aggiornamenti del mio diario su
journal; quindi, quando inizi il giorno successivo, ho bisogno di passare dajournalamaster. In questa situazione,git checkoutelimineràjournal.md, anche se voglio mantenere il file e modificarlo. - Supponiamo di avere una versione modificata di
journal.mdmentre sumaster, e voglio confermare questa versione modificata ajournal. In questa situazione,git checkoutsi lamenterà che "le modifiche locali verranno sovrascritte". - Potrei evitare entrambi questi problemi se potessi aggiungere / salvare un singolo file su
journalmentre sumaster, senza effettivamente verificaremaster. Tuttavia, non ho trovato un modo per farlo.
- Supponiamo che abbia finito il giorno e abbia impegnato gli aggiornamenti del mio diario su
-
Conserva un repository separato per il file journal per questo particolare progetto - ad es.,
<project>-journal. Questo ovviamente non soddisfa il primo requisito, sebbene soddisfi il secondo. Il problema principale di questo approccio è che ho due repository separati per un singolo (piccolo) progetto. Questo sembra ... sbagliato.
Qualsiasi suggerimento sarebbe apprezzato.