Les objectifs de ce flux de travail:
- Pouvoir se répartir le travail à plusieurs
- Identifiers des objectifs grâce aux releases prévues
- Centraliser la gestion des revues et la qualité du code
- Eviter des bugs
Les remotes sont des dossier git distants,
On a un repo parentg4-devet un projet forkorigindont vous avez une copie en local (faites avec legit clone) et sur votre VM
!! Avant tout !! il faut bien vérifier qu'on a les bonnes remotes origin et g4-dev
Pour vérifier : git remote -v → affiche nos repo distants rattachés au projet
git remote add g4-dev git@github.com:g4-dev/src-ecs.git
On a donc deux repository ou remotes distantes :
origin: notre fork là où l'on peut pushg4-dev: notre repository parent où l'on fusionne le travail de chacun (interdit de push)
→ exemple bo_features/products
release/version- branches for release(production) version;hotfix-*- branches for releasefixes;
Ces branches son des branches de références sur lesquelles nous ne travaillons pas. On merge seulement dessus des Pull requests correspondant à une branche de ticket.
master- always stable and release ready branch; (production)develop- default branch, contains latest features and fixes, on which developers should orient;release/numéro- branches feature development and dependencies update;
Super important de mettre régulièrement à jour sa branche
Avant de travailler sur un projet/ ou de merge une branche sur une des principales on se met à jour avec:
git fetch g4-dev
git rebase g4-dev <nom-remote>/<nom-de-la-branche-qui-a-la-maj>
# Exemple de mise à jour de develop
git fetch g4-dev develop
# Façon commune de se mettre à jour
git rebase g4-dev/develop
# technique danger mais efficace si vous commencer un nouveau taff
# Si l'on a pas de modifs (par ex : on commence un nouveau projet à partir d'une branche locale)
git reset --hard g4-dev/develop
Ensuite je dois push cette branche sur mon fork (origin) :
git push -u origin <nom-branche>
N'essayer pas de push sur g4-dev directement (c'est bloqué de toute façon)
On fonctionne avec trois interfaces principales :
githubclickupcircle-ci
Sur Clickup on récupère les tâches à faire et ensuite on les éxecute sur github.
Les PR/ commits se retrouveront sur clickup si on suit bien la convention
#id-ticket[status]dans les messages de commit et titres de PR.
Voici un exemple de Pull request détaillé :
- Je m'assigne un ticket avec l'id
#34jeq3
- Je créer une branche à partir de la dernière version de
developou de la releaseproche(vérifier sur le ticket)
git fetch g4-dev develop:34jeq3-doc
git checkout 34jeq3-doc
-
Je code ma feature
-
Je créer une PR quand j'ai fini
Ensuite je choisis l'option compare across forks et sélectionne les bonnes branches avant de faire la PR:
Ici je veux merge la branche de mon ticket 34jeq3
- Vous ouvrez la PR et changer le titre avec
#34jeq3
- Laissez vous guider par les consigne dans le template de pull request qui s'affiche.
→ Attention à ne pas oublier le # devant le numéro pour que la PR s'affiche sur clickup
-
Envoyer le lien de votre PR sur discord
-
Toujours un peu de mal: regarder cette PR


