Git est un logiciel de gestion de versions disposant de nombreux avantages :
Gestion décentralisée
Gestion de branches simple et efficace
De multiples commandes et options très pratiques
Interface en ligne de commande riche
Github - Gitlab / Gitorious / ...
Plusieurs développeurs
Plusieurs instances de pré-production, plusieurs serveurs de production (versions de code non synchrones)
Releases mensuelles avec livraison en pré-production, puis sur le(s) serveur(s) de production
Sur les serveurs, la base de code est récupérée depuis le dépôt Git avec Fabric
Un (et un seul) mainteneur, qui gère le dépôt Git et les releases
Ne jamais commiter directement sur la branche master
Ne jamais faire de rebase de master sur une autre branche
Ne pas sortir du workflow prévu
Contient toute la base de code de la prochaine release
Évolue exclusivement par des commits de merge
Est en permanence fonctionnelle et fiable
1.
Nouvelle fonctionnalité / correction = nouvelle branche depuis master
$ (master) git checkout -b featureA
$ (featureA) git commit -a -m "featureA part 1"
$ (featureA) git commit -a -m "featureA part 2"
2.
Suivi de l'évolution de master et vérification régulière que le code fonctionne
$ (featureA) git rebase master
3.
Dernier rebase à la fin des développements de la branche pour :
4.
Merge de la branche de développement sur master par le mainteneur
$ (master) git merge --no-ff featureA
5.
Suppression de la branche de développement
$ (master) git branch -d featureA
$ (master) git push origin :featureA
1.
Taggage de la branche master et création d'une nouvelle branche stable
$ (master) git tag stable1.0
$ (master) git checkout -b stable1.0
$ (stable1.0) git push origin stable1.0
2.
Corrections urgentes directement sur la branche stable concernée
3.
Merges réguliers de la branche stable vers master pour récupérer les coorections
$ (master) git merge --no-ff stable1.0
Variante possible avec une branche de pré-production pour isoler la prochaine release de la branche master
http://twitter.com/__fle__
Table of contents | t |
---|---|
Exposé | ESC |
Autoscale | e |
Full screen slides | f |
Presenter view | p |
Source files | s |
Slide numbers | n |
Blank screen | b |
Notes | 2 |
Help | h |