Come gestisco un diario di sviluppo?

1

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 tramite git 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.

  1. 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 di git 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 da journal a master . 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 su master , e voglio confermare questa versione modificata a journal . 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 su master , senza effettivamente verificare master . Tuttavia, non ho trovato un modo per farlo.
  2. 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.

    
posta A.M. 23.07.2018 - 15:24
fonte

1 risposta

2

Per prima cosa, ti suggerisco di riconsiderare l'idea di avere una "rivista" per l'intero repository, indipendentemente dal ramo. Faccio qualcosa di simile per i miei progetti più grandi (Release-Notes.md, molte persone chiamano questo ChangeLog).

Esempio:

Ma se sei sicuro di questa scelta (un journal indipendentemente dal ramo) - archiviarlo nel proprio repository è una soluzione abbastanza valida, e diventa un po 'più vicino al tuo obiettivo quando lo combini con i sottomoduli git. Rendi la cartella journal un sottomodulo e mantieni tutti i rami aggiornati con la versione più recente di quel sottomodulo.

    
risposta data 23.07.2018 - 17:51
fonte

Leggi altre domande sui tag