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.md
nel repository del progetto; e -
Devo essere in grado di apportare modifiche a
journal.md
da 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 dajournal
amaster
. In questa situazione,git checkout
elimineràjournal.md
, anche se voglio mantenere il file e modificarlo. - Supponiamo di avere una versione modificata di
journal.md
mentre sumaster
, e voglio confermare questa versione modificata ajournal
. In questa situazione,git checkout
si lamenterà che "le modifiche locali verranno sovrascritte". - Potrei evitare entrambi questi problemi se potessi aggiungere / salvare un singolo file su
journal
mentre 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.