I rami (branch) di hotfix vengono usati per aggiustare bug che affliggono la release attualmente in produzione. Sono fondamentali perché ci permetteranno di gestire bug che al momento i nostri utenti stanno “subendo” oppure di tappare falle di sicurezza zero-day.
Per questo motivo i rami hotfix hanno un flusso più rapido rispetto ai rami visti in precedenza. Visto che fixano bug già distribuiti, un ramo hotfix/nomebug verrà creato a partire direttamente da master e, una volta corretto il problema, dovrà essere unito (merge) sia in master che develop (oppure nella release che attualmente si sta preparando).
Un approccio di questo tipo ci permetterà quindi di fare bug fix senza interrompere i lavori al progetto su altri rami rendendo però questo nuovo fix disponibile anche per le future release.
Vediamo come creare un ramo hotfix con i comuni comandi git:
git checkout master git checkout -b hotfix/nomebug
Utilizzando l’estensione git-flow, invece:
git flow hotfix start nomebug
Quando avremo terminato la scrittura del nostro fix, facciamo il merge di questo ramo in develop e in master. Poi, possiamo semplicemente cancellarlo. Usando i comandi git:
git checkout master git merge hotfix/nomebug git tag 1.2.1 git checkout develop git merge hotfix/nomebug git branch -D hotfix/nomebug
Con git-flow basterà un solo comando:
git flow hotfix finish nomebug
Come già detto in precedenza, ogni commit o merge nel ramo master genererà una nuova release number, che nel nostro esempio sarà 1.2.1.