Hotfix¶
Avertissement
Be carefull your master
branch is up-to-date before starting a hotfix, and both your master
and develop
branches are up-to-date before finishing it!
Vous utilisez un hotifx
pour corriger des bogues dans la dernière version stable du projet, peu importe qu’il s’agisse d’une version majeure, mineure ou patch.
Note
You can have only one hotfix at the same time!
Création¶
Le nom du hotfix doit être la version qu’il va devenir. Si la dernière version était 1.3.2 ; vous créerez un hotfix 1.3.3 en utilisant :
$ git flow hotfix start 1.3.3
Ce qui réalisera automatiquement les tâches suivantes :
- création d’une nouvelle branche nommée
hotfix/1.3.3
depuis la branchemaster
, - récupération (
checkout
) de la branchehotfix/1.3.3
Cycle de vie¶
Just like Features, you will have nothing to do if there were no changes on the master
branch since you’ve created your hotfix.
If something has changed in the master
, that means another hotfix has already been done, which also means that the version you are using is probably incorrect now. In that case, you will have to:
- renommer votre branche hotfix
- mettre le code à jour
En partant du principe que la version 1.3.3 a été publiée depuis un autre hotfix, vous travaillerez sur la version 1.3.4 :
(hotfix/1.3.3) $ git branch -m hotfix/1.3.4
(hotfix/1.3.4) $ git rebase -i master
Pull Request¶
Votre hotfix est terminé, il doit maintenant être revu avant de pouvoir être mergé. Poussez les modifications sur votre fork, allez sur sa page, sélectionnez votre branche et cliquez sur le bouton « new pull request ».
Vous pouvez fournir des détails complémentaires au besoin, soumettre, et enfin attendre qu’un autre développeur effectue la revue de vos changements ! Une fois acceptée, retournez sur votre copie de travail, et suivez les instructions du paragraphe ci-dessous.
Finalisation¶
Avertissement
Avant de lancer les commandes pour terminer votre hotfix, assurez-vous que :
- votre branche
master
soit à jour - aucun autre hotfix utilisant la même version n’ait été mergé (utilisez
git tag | sort -V
)
Avertissement
Vous devez utiliser Git en ligne de commande, et non les possibilités de Github pour terminer le hotfix !
Terminer un hotifx est aussi simple que :
$ git flow hotfix finish 1.3.4
Cale va :
- Merger les changements dans la branche
master
, - Créer un tag
1.3.4
, - Merger les changements dans la branche
develop
, - Supprimer votre branche
hotfix/1.3.4
locale.
Une fois que votre hotfix est terminé ; vous devrez pousser master
, develop
ainsi que les tags
, et aussi supprimer la branche hotfix/1.3.4
distante :
(master) $ git push
(master) $ git push --tags
(master) $ git checkout develop
(develop) $ git push
$ git push {github_username} :hotfix/1.3.4