diff --git a/03_branches/01_cas.md b/03_branches/01_cas.md index 8a249813674bd023d5acbccec159b2348bb8d960..db61c130ef7a035ad005376ba5a11eb3dbebcb12 100644 --- a/03_branches/01_cas.md +++ b/03_branches/01_cas.md @@ -4,15 +4,18 @@ ---vertical--- -## Utilité des branches (1/2) +## Conditions d'usage des branches * S’assurer que la branche `main` est toujours stable +* les branches créée le sont à partir de `main` +---vertical--- + +## Utilité des branches (1/2) * Ne pas mélanger ses développements en cours * Programmer en parallèle des collègues ---vertical--- ## Utilité des branches (2/2) -* Faciliter le suivi des modifications * Faire des tests et expérimentations * Laisser un travail en cours pour un autre plus urgent * Résolution de bug @@ -36,7 +39,7 @@ gitGraph commit id: "Dev++ fonction 2" ``` -Note: bien rapeller que cela peut poser problème +Note: bien rappeller que cela peut poser problème ---vertical--- diff --git a/03_branches/02_principes.md b/03_branches/02_principes.md index 1bc97eb999999d7e1e001e3893bed53e36f281cb..15e3eb2562706fde421ceda066e25753267b52b8 100644 --- a/03_branches/02_principes.md +++ b/03_branches/02_principes.md @@ -30,7 +30,7 @@ Scénario classique : ---vertical--- -## Exemple à suivre (1/2) +## Exemple à suivre (1) ```mermaid gitGraph @@ -46,6 +46,7 @@ gitGraph commit id: "Dev fonction 2" commit id: "Dev++ fonction 2" ``` +Les fonctionnalités évoluent dans des branches séparées ---vertical--- @@ -53,7 +54,7 @@ gitGraph ---vertical--- -## Exemple à suivre (2/2) +## Exemple à suivre (2) ```mermaid gitGraph @@ -131,6 +132,9 @@ gitGraph commit id: "Debug fonction 1 bis" commit id: "modif fonction commune (f1)" checkout main + merge Bug-fonction-1 + merge Fonction-2 commit ``` +git branch Fonction-2 ; git rebase main diff --git a/03_branches/05_01_gitlab.md b/03_branches/05_01_gitlab.md index f3aa1176bdf092f62aa126adaf43ea532fb52b85..a0c1b459a5e946910f4feae1d64bd21601990a30 100644 --- a/03_branches/05_01_gitlab.md +++ b/03_branches/05_01_gitlab.md @@ -44,5 +44,10 @@ Via le menu branche Avec ces méthodes de création d'un branche depuis gitlab, il faut récupérer la nouvelle branche en local ```sh +# Lister toutes les branches disponibles (locales et distantes) +git branch -a +# Récupérer le contenu de la branche git pull origin la_branche_distante +# se mettre dessus +git checkout la_branche_distante ``` diff --git a/03_branches/05_02_rstudio.md b/03_branches/05_02_rstudio.md index 8c5f4c48cdacaf59ba39d69d6c74cde211320b19..57352b96325a0e5a420d5ea1de47532ed6557911 100644 --- a/03_branches/05_02_rstudio.md +++ b/03_branches/05_02_rstudio.md @@ -51,10 +51,9 @@ Via la fenêtre de commit (dans le terminal de Rstudio) ```sh # pour visualiser les branches locales -gi branch -# pour supprimer les branches -git branch --delete nom_de_ma_branche -git branch --delete nom_de_ma_branche2 +git branch +# pour supprimer les branches locales +git branch -d nom_de_ma_branche # pour visualiser les branches restantes git branch ``` diff --git a/03_branches/05_03_ligne_commande.md b/03_branches/05_03_ligne_commande.md index a876b820e218e1f9b96990bc86530594f6dc2756..a4f0d27b2250766b38ba62bc4a5c520ee9c779ab 100644 --- a/03_branches/05_03_ligne_commande.md +++ b/03_branches/05_03_ligne_commande.md @@ -13,6 +13,8 @@ git branch patch-1 git switch patch-1 # ou en raccourci git switch -c patch-1 +# Ou si switch n'est pas disponible +git checkout patch-1 ``` * créé une branche nommée `patch-1` diff --git a/03_branches/07_fusion.md b/03_branches/07_fusion.md index cc877a8ae2fd4eb761f02fb81351a13ac1a3ed5a..7d1514fdc9f3f4ff7f8ab3630c5ff77dd01277f7 100644 --- a/03_branches/07_fusion.md +++ b/03_branches/07_fusion.md @@ -1,7 +1,7 @@ ---slide--- -# Fusion -## *merge* +# Fusion, conflit, remisage +## *merge request* ---vertical--- @@ -25,6 +25,7 @@ gitGraph checkout main merge issue-1 ``` +Fusion de hotfix sur main puis de issue-1 sur main ---vertical--- diff --git a/03_branches/08_rebasage.md b/03_branches/08_rebasage.md index 105a6908f083a6000744c31a9b301356d4c64ebd..ed178b40da9950871a2435f8e1d711708ac7fe9e 100644 --- a/03_branches/08_rebasage.md +++ b/03_branches/08_rebasage.md @@ -35,7 +35,7 @@ git rebase branche_source ---vertical--- -## Illustration (1/3) +## Illustration du problème (1/3) ```mermaid gitGraph @@ -60,9 +60,9 @@ Problème: les modifications apportées par le 1er merge ne sont pas intégrées ---vertical--- -## Illustration (2/3) +## Solution du problème (2/3) -Solution: rebaser la branche `Fonction-2` sur `main` après le merge de `Bug-fonction-1` : +Rebaser la branche `Fonction-2` sur `main` après le merge de `Bug-fonction-1` : ```sh # On s'imagine qu'on vient de faire le merge de Bug-fonction-1 sur main @@ -76,7 +76,7 @@ git rebase main ---vertical--- -## Illustration (3/3) +## Résultat (3/3) Résultat : ```mermaid @@ -101,7 +101,7 @@ On constate qu'on a modifié l'historique pour le rendre linéaire ---vertical--- -## Problème +## Inconvénient Le rebasage **réécrit l'historique des commits** @@ -111,6 +111,6 @@ Le rebasage **réécrit l'historique des commits** ## Recommandations -Rebaser uniquement des branches : +De préférence, rebaser uniquement des branches : * Sur lequelles on travaille seul * Pour lesquelles ont peut prévenir les autres développeurs de la réalisation d'un rebasage diff --git a/03_branches/09_bonnes_pratiques.md b/03_branches/09_bonnes_pratiques.md index 519cf545b527315db5119c086fd010e24ec23785..acd7f01675c87d7ff93feb585e725f8f478dc72f 100644 --- a/03_branches/09_bonnes_pratiques.md +++ b/03_branches/09_bonnes_pratiques.md @@ -1,12 +1,14 @@ ---slide--- -# Bonnes pratiques (1/2) +# Bonnes pratiques pour les branches ---vertical--- -* Au début d'une séquence de travail, vérification de la branche en cours (status) -* Puis ```git pull``` pour récupérer d'éventuels commit depuis la branche distante -* Créer une branche pour chaque bug, évolution +* Ne pas faire de commit sur la branche `main` ! +* ```git status``` au début d'une séquence de travail pour vérifier sur quelle branche on est +* ```git pull``` pour récupérer d'éventuels commit +* Créer une branche pour chaque bug ou évolution * Toujours créer une branche à partir du tronc (main ou master) * Avant de changer de branche, commit ou stash (bien nommés) +* Ne pas trainer pour fusionner diff --git a/03_branches/images/05-01_gitlab_une_branche.png b/03_branches/images/05-01_gitlab_une_branche.png index bf6493aa70a55e15cf62b94efddffc56486dfded..a270c25acfc319dddc17e656b2761a4d7f18fc8b 100644 Binary files a/03_branches/images/05-01_gitlab_une_branche.png and b/03_branches/images/05-01_gitlab_une_branche.png differ diff --git a/03_branches/images/05-0_gitlab_branches.png b/03_branches/images/05-0_gitlab_branches.png index a74143fdecfe550dfff004799d61adaf2aa23b4d..172f9f9a331bc0e4a359936a185c5207b2c77710 100644 Binary files a/03_branches/images/05-0_gitlab_branches.png and b/03_branches/images/05-0_gitlab_branches.png differ diff --git a/03_branches/images/05-gitlab_create_branch_from_issue.png b/03_branches/images/05-gitlab_create_branch_from_issue.png index fa5e1e8f1a15287ec087dbe8fe48418925d43806..cdef4e33bea2ee1e2d7fa100ca2497573e37f00a 100644 Binary files a/03_branches/images/05-gitlab_create_branch_from_issue.png and b/03_branches/images/05-gitlab_create_branch_from_issue.png differ diff --git a/03_branches/images/05-gitlab_creation_par_menu_branche.png b/03_branches/images/05-gitlab_creation_par_menu_branche.png index 495e585cc5c0adcc39e7d26bc51ccbf8ec47c0a9..9ec5c499fd2563445f9765af9f03dbdbf75bf4e5 100644 Binary files a/03_branches/images/05-gitlab_creation_par_menu_branche.png and b/03_branches/images/05-gitlab_creation_par_menu_branche.png differ diff --git a/retour_experiences.md b/retour_experiences.md index 8e2c74c0dff331f5eda3cab618b31ffa87466db5..39aa9ee5ee5575dbffce04f9bd8374d70ca3a0a4 100644 --- a/retour_experiences.md +++ b/retour_experiences.md @@ -83,3 +83,13 @@ Au bilan, encore une fois, déçu de ne pas avoir eu plus de monde. - Problème à la création des repos locaux (branche master par défaut), du coup, proposition pour reprendre et clarifier le code (cf [issue 29](https://forgemia.inra.fr/git-gitlab-paca/support-de-formation/-/issues/29)) - Problème pour l'affichage de la clef publique (typo corrigée directement dans le main) - trop bavard, on n'a pas eu le temps de bien tester les issues ... + + +| Date | Qui | Combien | Mode | Durée |Session | +|:-: |:-: |:-: |:-: |:-: |:-: | +| 21 décembre 2023 | Philippe URFM | 3 | Web + LC| 2h15 | 3| + +- 3 scientifiques présents +- parcours rapide des diapos et tests avec le repo exercise_session3 forké dans collection URFM +- diapos non parcourues: gestion des branches en local +- pas eu le temps d'aller jusqu'au test du rebasage \ No newline at end of file