(Questa domanda potrebbe essere eccessivamente ampia e certamente non ha una risposta "giusta".)
Sto riscrivendo alcuni piccoli progetti integrati per un'azienda. Piuttosto che immergermi nel codice preesistente, sto ricominciando da capo. Il codice originale è stato scritto dagli studenti per un progetto di ricerca e mentre ha dimostrato il punto, ha dei bug profondi e non è stato scritto o mantenuto in modo professionale.
Nessuna lamentela qui, cappello a loro per dimostrare che era possibile in primo luogo. Tuttavia, ciò significa che non ha senso cercare di salvare il codice originale. È molto meglio iniziare da zero e creare da un elenco di funzionalità e da un documento di progettazione concordati.
Ora che ho questi nuovi progetti già operativi, qual è la migliore pratica per riportarli in azienda? Dovrei
- Effettua un commit che clobbers efficacemente tutto il vecchio codice e lo sostituisce con il mio?
- O dovrei archiviare il repository esistente e creare un nuovo repository?
Pros per il numero 1: chiunque controlli il codice ottiene la cronologia completa. Se qualcuno sta cercando una vecchia funzionalità, può trovarla facilmente. Contro il n. 1: perché dovresti mai pensare di cercare nella cronologia git di questi dati? I coder originali non sono particolarmente versati in git e non sono propensi a pensare di cercare il codice in questo modo
Pros per il n. 2: tutto è pulito Contro il 2: Mantenere vecchi oggetti archiviati attorno alle build cruft, ed è difficile sapere qual è il suo valore quando lo si incontra 5 anni dopo. Qualcuno potrebbe addirittura usarlo accidentalmente.