Fiche technique
Poids : 400 g
ISBN : 978-2-212-13438-4
EAN : 9782212134384
Quatrième de couverture
Bonnes pratiques
N'hésitez pas à user et abuser des branches
Git a dès l'abord été conçu pour faciliter la création de branches et surtout leur fusion. Des changements peuvent ainsi rester totalement indépendants ; cela ouvre de nombreuses perspectives de travail :
- branches de correctifs intégrables dans plusieurs versions du logiciel ;
- expérimentations sans risque (il est facile de « jeter » une branche, bien moins de se débarrasser de commits entrelacés avec le développement « normal ») ;
- branches par fonctionnalités, pour que les autres développeurs puissent facilement tester un sous-ensemble de vos changements et vous faire des retours dessus ;
- branches temporaires de travail collaboratif sur une fonctionnalité avec un autre développeur avant la soumission finale, etc.
Choisissez des règles de travail et conventions communes : adoptez le même workflow
La souplesse de Git (par opposition à des systèmes de gestion de versions centralisés comme CVS, Subversion, perforce) est l'une de ses forces... mais elle peut devenir un cauchemar si tous les développeurs ne travaillent pas de la même manière. Établissez donc quelques règles dans la façon de travailler :
- utilisation d'un dépôt central ;
- nommage des différentes branches « officielles » ;
- règles pour soumettre les patches (directement, par soumission sur une liste de diffusion, via des outils de relecture...), etc.
Choisissez des outils qui s'intègrent bien avec Git
Le système de gestion de versions est la clef de voûte d'une bonne gestion de projet ; préférez ceux des autres outils classiques (gestion de tickets, relecture de code, intégration continue, etc.) qui s'intègrent bien avec Git, pour automatiser des tâches répétitives, sources d'erreurs multiples. Choisissez par exemple un système de gestion de tickets qui « comprenne » Git pour « fermer » les tickets depuis les messages de commit afin d'éviter des oublis humains. Utilisez un outil de relecture de code sachant manipuler directement un dépôt Git, pour éviter des erreurs lors de l'intégration d'une branche.