Sto lavorando su un'app PHP, utilizzando tre rami principali: "master" (versione stabile corrente), "bugfix" (per le patch) e "next" (per la prossima versione secondaria).
Memorizziamo il numero della versione corrente nel codice - è usato per alcune cose, tra cui il controllo degli aggiornamenti dell'app, e anche il semplice busting della cache per i file CSS / JS (come styles.css?v=1.2.3
) che aiuta durante l'aggiornamento.
Il mio problema riguarda i conflitti di fusione. Diciamo che ho la versione 1.2.3, e 'next' è ramificata lì per iniziare a lavorare sulla versione 1.3. Cambio la versione in quel ramo in 1.3.0
o 1.3.0-dev
. Poi ho bisogno di correggere un bug nella riga 1.2, quindi il ramo 'dev' viene corretto e la versione 1.2.4 è rilasciata.
Ma ora quando unisco le modifiche nel ramo "successivo" ottengo conflitti di unione, perché la stessa riga è stata modificata in entrambi i rami. Ci sono delle strategie per evitarlo? O dovrei risolvere il conflitto di merge e andare avanti?
Ho visto alcune risposte in SE che parlano dell'uso dei tag git (che usiamo per le versioni) ma non penso che questo aiuti davvero la mia situazione dal momento che abbiamo bisogno del numero di versione nel codice.