0% ont trouvé ce document utile (0 vote)
26 vues15 pages

Guide complet sur le workflow Git

Le document décrit un workflow Git recommandé pour une utilisation efficace, en insistant sur l'importance de ne pas committer directement sur les branches principales et de suivre un processus structuré de développement. Il présente également les étapes pour gérer les fonctionnalités, les conflits, et les demandes de fusion, tout en soulignant l'importance de la revue de code. Enfin, il aborde des pratiques pour les releases et les corrections rapides, ainsi que des suggestions pour l'automatisation et l'intégration continue.

Transféré par

ariel.agbodjogbe
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PPTX, PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
26 vues15 pages

Guide complet sur le workflow Git

Le document décrit un workflow Git recommandé pour une utilisation efficace, en insistant sur l'importance de ne pas committer directement sur les branches principales et de suivre un processus structuré de développement. Il présente également les étapes pour gérer les fonctionnalités, les conflits, et les demandes de fusion, tout en soulignant l'importance de la revue de code. Enfin, il aborde des pratiques pour les releases et les corrections rapides, ainsi que des suggestions pour l'automatisation et l'intégration continue.

Transféré par

ariel.agbodjogbe
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PPTX, PDF, TXT ou lisez en ligne sur Scribd

Git Workflow

Workflow…?
- Une recette.

- Une recommandation de comment utiliser Git.

- Permettre aux utilisateurs exploiter Git efficacement.

- Pas une recette magique.

- A évoluer avec la culture de l’équipe.


Important!!!
- Ne jamais commiter directement sur la branche master ou develop.

- Ne jamais faire de rebase de master sur une autre branche.

- Ne pas sortir du workflow prévu.


Mix
Branche par fonctionnalité et
Gitflow
- Deux branches principales.
◦ Master
◦ Develop

- Chaque fonctionnalité est développée dans une branche.

- Une fois terminée, la branche est à nouveau mergée dans develop.

- Prêt pour livrer? Fusionner develop dans master.


Branches de fonctionnalités
- Une par fonctionnalité, plusieurs si facilite la relecture.
- Des petites modifications.
- Ne pas casser le build et fonctionnement sur develop.

- Nommage: « feature/ticketNumber » , « fix/ticketNumber »


- Ex: feature/DEV-2574_my_fonctionalite, fix/DEV-2502
- Ex plusieurs commits: feature/DEV-2574-1, feature/DEV-2574-2
Git Basics
- git clone: crée une copie de tout le projet en local.

- git checkout: permettre de créer (avec le flag B) et aussi de changer de branche.

- git status: affiche la liste de nouveau fichiers et des fichiers avec modifications

- git add: ajoute un fichier ou plusieurs dans le « staging area » , préparation de fichiers à commiter.

- git pull: récupère et intègre les changements du dépôt distante sur local.

- git rebase: recrée l’historique de commits pour avoir une cohérence.

- git push: pushe new-feature vers le dépôt centralisé


Pour l’équipe
1. Cloner dépôt centralisé
2. Créer une branche de fonctionnalité
3. Développer la fonctionnalité
4. Commiter
5. Mettre à jour avec develop / Rebaser
6. Gestion des conflits
7. Pusher vers le dépôt distant
8. Création Merge request / pull request
9. Revue de code
10. Résolvez du feedback
11. Deuxième relecture
12. Fussioner la merge request.
Rebase
- L'historique des commits doit être considéré comme sacré et immuable.

- Si les commits locaux d'un développeur diffèrent du dépôt centralisé, Git refusera
de faire un push des changements.

- Ne pas faire un pull de develop pour éviter des commits de Merge

- La solution, faire un rebase.

- « Je veux ajouter mes changements à tout ce qui été fait par les autres ».

- Résultat: un historique parfaitement linéaire.


Rebase
Gestion de conflits
- Des conflits si les changements local touches les mêmes lignes sur un fichier qui vient du dépôt distant.

- Git interrompt le rebase pour résoudre les conflits.

- Faire attention pour ne pas écraser des changements d’autre développeur.

- git add .

- git rebase –-continue


Création de merge request et
revue de code
- Une fois sur Gitlab, on crée une merge request pour obtenir de feedback.

- Ajouter des réviseurs, tag les développeurs.

- Revue de code
- Fonctionnalité
- Cas limites
- Tests
- Bonne pratiques: Google Java Style Guide, Google Javascript Style Guide

- L'équipe commentent et approuvent les commits pushés.


- Deux 👍 = On peut merger.
- Supprimer la branche
Releases
- Une fois toutes les branches sont approuvés et merger sur develop, code freeze.

- Test sur Integration/Preprod

- Merge la branche develop sur master

- Tagger la version.

- Pas de branche de release


Hot Fix
- Créer une branche à partir de master avec le nommage défini.

- Corriger le bug

- Merger sur develop et puis sur master.

- Tagger master.
Pour demain…
- Automatiser formatter: Spotless, Java Google formater, Spring-Java

- Automatiser livraison en PROD

- CI / CD

- Trunk base development.


Reference
◦ [Link]
◦ [Link]
◦ [Link]
◦ [Link]
◦ [Link]

Vous aimerez peut-être aussi