From 6ef3a883fa52c49ffe5a8e05dcd910860c3e8795 Mon Sep 17 00:00:00 2001
From: Philippe Dosch <Philippe.Dosch@loria.fr>
Date: Sun, 5 Jan 2014 21:40:02 +0100
Subject: [PATCH] Branch part now splited into 3 files

---
 brancheintro.tex  | 191 ++++++++++++++++++++
 branchreco.tex    |  38 ++++
 branchusecase.tex | 221 +++++++++++++++++++++++
 gitbranch.tex     | 447 +---------------------------------------------
 4 files changed, 455 insertions(+), 442 deletions(-)
 create mode 100644 brancheintro.tex
 create mode 100644 branchreco.tex
 create mode 100644 branchusecase.tex

diff --git a/brancheintro.tex b/brancheintro.tex
new file mode 100644
index 0000000..59247b7
--- /dev/null
+++ b/brancheintro.tex
@@ -0,0 +1,191 @@
+%======================================================================
+
+\section{Les branches}
+
+%======================================================================
+
+\subsection{Présentation}
+
+%======================================================================
+
+\frame{\frametitle{Introduction}
+  \begin{itemize}
+  \item
+    La manipulation des branches est certainement une des
+    fonctionnalités les plus puissantes sous git
+  \item
+    Elle est particulièrement simple et rapide par rapport aux autres
+    VCS, où les branches sont généralement difficiles à gérer
+  \item
+    Sous git, la création d'une branche est un processus léger, ce qui
+    encourage son utilisation
+  \item
+    Une \emph{branche} représente une partie de l'arborescence
+    créée par les différents commits contenus dans un dépôt
+  \end{itemize}
+}
+
+%======================================================================
+
+\frame{\frametitle{Représentation arborescente}
+  \begin{itemize}
+  \item
+    Chaque commit créé possède au moins un père : le commit dont il
+    est issu
+  \item
+    Il existe ainsi une filiation entre les différents commits d'un
+    dépôt, représentée sous forme d'arbre
+  \end{itemize}
+  \begin{center}
+    \includegraphics[scale=.4]{arbre.eps}
+  \end{center}
+}
+
+%======================================================================
+
+\frame{\frametitle{Branche \ext{master}}
+  \begin{itemize}
+  \item
+    Rappel : la création d'un dépôt git entraîne automatiquement la
+    création d'une branche par défaut, appelée \ex{master}
+  \item
+    Techniquement, cette branche correspond à une variable \ex{master}
+    pointant toujours vers le dernier commit réalisé
+  \end{itemize}
+  \begin{center}
+    \includegraphics[scale=.4]{arbremaster.eps}
+  \end{center}
+}
+
+%======================================================================
+
+\subsection{Création de nouvelles branches}
+
+%======================================================================
+
+\frame{\frametitle{Intérêt de nouvelles branches}
+  \begin{itemize}
+  \item
+    Il est possible de créer de nouvelles branches pour faire évoluer,
+    \textit{simultanément}, le développement dans des directions
+    différentes
+    \begin{itemize}
+    \item
+      développement collaboratif (= plusieurs développeurs)
+    \item
+      correction de bugs
+    \item
+      ajout de fonctionnalités
+    \item
+      etc.
+    \end{itemize}
+  \item
+    Un moyen simple de savoir sur quelle branche on se trouve\\
+    \mygit{git branch}{gitbranch1.txt}
+  \item
+    Le symbole \ex{*} désigne la branche courante (utile lorsque
+    plusieurs branches existent)
+  \end{itemize}
+}
+
+%======================================================================
+
+\frame{\frametitle{Création d'une nouvelle branche}
+  \begin{itemize}
+  \item
+    Pour créer une nouvelle branche, ajouter un nom de branche à la
+    commande précédente\\
+    \mygitplus{git branch nouveau}\\
+    \mygit{git branch}{gitbranch2.txt}
+  \item
+    Cette commande ne fait que créer une nouvelle branche, elle ne
+    permet pas de basculer vers cette nouvelle branche
+  \end{itemize}
+}
+
+%======================================================================
+
+\frame{\frametitle{Création d'une nouvelle branche}
+  \begin{itemize}
+  \item
+    La création d'une nouvelle branche entraîne la création d'une
+    nouvelle variable représentant cette branche
+  \end{itemize}
+  \begin{center}
+    \includegraphics[scale=.4]{arbremasternouv.eps}
+  \end{center}
+}
+
+%======================================================================
+
+
+\frame{\frametitle{Le pointeur \ext{HEAD}}
+  \begin{itemize}
+  \item
+    Pour savoir dans quelle branche le dépôt se situe, git utilise un
+    pointeur spécial appelé \ex{HEAD}
+  \item
+    Cette variable pointe toujours vers (le dernier commit de) la
+    branche courante
+  \end{itemize}
+  \begin{center}
+    \includegraphics[scale=.4]{arbrehead.eps}
+  \end{center}
+}
+
+%======================================================================
+
+\frame{\frametitle{Passage d'une branche à une autre}
+  \begin{itemize}
+  \item
+    La commande permettant de changer de branche est \ex{git checkout
+      \emph{branche}}, soit dans l'exemple courant\\
+    \mygitplus{git checkout nouveau}\\
+    \mygit{git branch}{gitbranch3.txt}
+  \end{itemize}
+  \begin{center}
+    \includegraphics[scale=.4]{arbrehead2.eps}
+  \end{center}
+}
+
+%======================================================================
+
+\frame{\frametitle{Passage d'une branche à une autre}
+  \begin{itemize}
+  \item
+    Lors du passage d'une branche à une autre, git restaure le
+    répertoire de travail dans l'état correspondant à la branche
+    sélectionnée (uniquement pour les fichiers suivis par git)
+  \item
+    Attention : on ne peut pas changer de branche s'il reste
+    des modifications en attente dans le répertoire de travail
+  \item
+    Pour créer une branche tout en s'y déplaçant\\
+    \mygit{git branch}{gitbranch1.txt}
+    \mygitplus{git checkout -b nouveau}\\
+    \mygit{git branch}{gitbranch3.txt}
+  \end{itemize}
+}
+
+%======================================================================
+
+\frame{\frametitle{Introduction}
+  \begin{itemize}
+  \item
+    
+  \end{itemize}
+}
+
+%======================================================================
+
+\subsection{Fusion de branches}
+
+%======================================================================
+
+\frame{\frametitle{Fusion de branches}
+  \begin{itemize}
+  \item
+    Les commandes \ex{merge} et \ex{rebase}
+  \end{itemize}
+}
+
diff --git a/branchreco.tex b/branchreco.tex
new file mode 100644
index 0000000..558c6f2
--- /dev/null
+++ b/branchreco.tex
@@ -0,0 +1,38 @@
+%======================================================================
+
+\section{Recommandations}
+
+%======================================================================
+
+\frame{\frametitle{}
+  \begin{itemize}
+  \item
+    
+  \end{itemize}
+}
+
+%======================================================================
+
+\section{Travail collaboratif}
+
+%======================================================================
+
+\frame{\frametitle{Introduction}
+  \begin{itemize}
+  \item
+    Le travail de plusieurs personnes sur un même projet fait
+    automatiquement appel à de la gestion de branches
+  \item
+    Chaque personne travaille en effet sur une branche de son propre
+    dépôt
+  \item
+    La réconciliation du travail de ces différentes personnes se fait
+    en fusionnant les branches correspondantes
+  \item
+    Plusieurs stratégies peuvent alors être mises en place pour
+    effectuer cette fusion
+  \end{itemize}
+}
+
+%======================================================================
+
diff --git a/branchusecase.tex b/branchusecase.tex
new file mode 100644
index 0000000..9621695
--- /dev/null
+++ b/branchusecase.tex
@@ -0,0 +1,221 @@
+%======================================================================
+
+\section{Stratégies d'utilisation}
+
+%======================================================================
+
+\frame{\frametitle{Introduction}
+  \begin{itemize}
+  \item
+    Afin de bien comprendre les particularités des différentes
+    stratégies liées aux branches
+    \begin{enumerate}
+    \item
+      on part d'une situation initiale correspondant à un dépôt
+      contenant uniquement une branche master avec 3 commits
+    \item
+      on simule un travail, correspondant à l'ajout d'une nouvelle
+      fonctionnalité tout en corrigeant un bug
+    \item
+      on applique une des 5 stratégies présentées
+    \item
+      on présente le résultat obtenu
+    \end{enumerate}
+  \item
+    Toutes les stratégies sont techniquement correctes
+  \item
+    Les résultats obtenus varient naturellement en fonction de la
+    stratégie appliquée
+  \end{itemize}
+}
+
+%======================================================================
+
+\frame{\frametitle{Introduction}
+  \framesubtitle{Détail de la simulation}
+  \begin{itemize}
+  \item
+    On crée une nouvelle branche \ex{nouvfonc} correspondant à l'ajout
+    d'une nouvelle fonctionnalité dans laquelle on ajoute 2 commits
+  \item 
+    On revient parallèlement dans la branche \ex{master} pour y faire
+    une correction de bug
+  \item 
+    On souhaite ensuite fusionner \ex{nouvfonc} dans \ex{master} et
+    supprimer ensuite la branche \ex{nouvfonc}
+  \end{itemize}
+
+  \textbf{\huge Important}
+  \begin{itemize}
+  \item 
+    Insérer ici une image de la situation de départ
+  \item
+    Reprendre les images de chaque stratégie et encercler en rouge les
+    2 commits de la nouvelle fonctionnalité
+  \end{itemize}
+}
+
+%======================================================================
+
+
+\frame{\frametitle{Introduction}
+  \framesubtitle{Détail des stratégies étudiées}
+  \begin{enumerate}
+  \item
+    \ex{checkout master, rebase nouvfonc, delete branch nouvfonc}
+  \item 
+    \ex{checkout master, merge nouvfonc, delete branch nouvfonc}
+  \item 
+    \ex{checkout nouvfonc, rebase master, checkout master, merge
+      nouvfonc, delete branch nouvfonc}
+  \item 
+    \ex{checkout nouvfonc, rebase master, checkout master, merge
+      -{}-no-ff nouvfonc, delete branch nouvfonc}
+  \item 
+    \ex{checkout master, merge nouvfonc -{}-no-ff, delete branch
+      nouvfonc}
+  \end{enumerate}
+}
+
+%======================================================================
+
+\newcommand{\branchstrategie}[4]{
+\frame{\frametitle{#1}
+  \begin{tabular}{lp{3cm}}
+    \begin{minipage}[b]{.5\linewidth}
+      {\small
+        #2
+      }
+    \end{minipage}
+    &
+    \centerline{\includegraphics[scale=.5]{#3}}
+  \end{tabular}
+  #4
+}}
+
+%======================================================================
+
+\branchstrategie{Stratégie 1}
+{
+  \ex{git checkout master}\\
+  \ex{git rebase nouvfonc}\\
+  \ex{git branch -d nouvfonc}
+}
+{strat1.png}
+{
+  \begin{itemize}
+  \item
+    Tout est linéaire, le commit de la branche dont on est parti étant
+    en dernier
+  \item
+    On ne voit pas bien les commits correspondant à la
+    nouvelle fonctionnalité
+  \end{itemize}
+}
+
+%======================================================================
+
+\branchstrategie{Stratégie 2}
+{
+  \ex{git checkout master}\\
+  \ex{git merge nouvfonc}\\
+  \ex{git branch -d nouvfonc}
+}
+{strat2.png}
+{
+  \begin{itemize}
+  \item
+    Le commit du changement de titre paraît à part, ce qui n'est pas
+    encore trop gênant
+  \item
+    On a l'impression que les premiers commits sont sur la même lancée
+    que la branche de nouvelle fonctionnalité, ce qui induit en erreur
+    : ce n'est pas clair
+  \end{itemize}
+}
+
+%======================================================================
+
+\branchstrategie{Stratégie 3}
+{
+  \ex{git checkout nouvfonc}\\
+  \ex{git rebase master}\\
+  \ex{git checkout master}\\
+  \ex{git merge nouvfonc}\\
+  \ex{git branch -d nouvfonc}
+}
+{strat3.png}
+{
+  \begin{itemize}
+  \item
+    Tout est linéaire, le commit de la branche dont on est parti étant
+    en dernier
+  \item
+    On ne voit pas bien les commits correspondant à la nouvelle
+    fonctionnalité (idem stratégie 1 donc)
+  \end{itemize}
+}
+
+%======================================================================
+
+\branchstrategie{Stratégie 4}
+{
+  \ex{git checkout nouvfonc}\\
+  \ex{git rebase master}\\
+  \ex{git checkout master}\\
+  \ex{git merge -{}-no-ff nouvfonc}\\
+  \ex{git branch -d nouvfonc}
+}
+{strat4.png}
+{
+  \begin{itemize}
+  \item
+    Les deux commits correspondant à la nouvelle fonctionnalité
+    apparaissent clairement.
+  \item
+    C'est le schéma le plus lisible.
+  \end{itemize}
+}
+
+%======================================================================
+
+\branchstrategie{Stratégie 5}
+{
+  \ex{git checkout master}\\
+  \ex{git merge nouvfonc -{}-no-ff}\\
+  \ex{git branch -d nouvfonc}
+}
+{strat5.png}
+{
+  \begin{itemize}
+  \item
+    Idem à la stratégie 2, ce n'est pas le ff qui s'est fait dans ce
+    cas.
+  \end{itemize}
+}
+
+%======================================================================
+
+% \frame{\frametitle{Stratégie 1}
+%   \begin{tabular}{lp{3cm}}
+%     \begin{minipage}[b]{.5\linewidth}
+%       {\small
+%         \ex{git checkout master}\\
+%         \ex{git rebase nouvfonc}\\
+%         \ex{git branch -d nouvfonc}
+%       }
+%     \end{minipage}
+%     &
+%     \centerline{\includegraphics[scale=.5]{strat1.png}}
+%   \end{tabular}
+
+%   \begin{itemize}
+%   \item
+%     Tout est linéaire, le commit de la branche dont on est parti étant
+%     en dernier
+%   \item
+%     On ne voit pas bien les commits correspondant à la
+%     nouvelle fonctionnalité
+%   \end{itemize}
+% }
+
diff --git a/gitbranch.tex b/gitbranch.tex
index 9526a28..458c09c 100644
--- a/gitbranch.tex
+++ b/gitbranch.tex
@@ -1,9 +1,8 @@
 \documentclass{IutSlideBeamerNew}
 
 \title{Git}
-\subtitle{Principes et utilisation pour les projets tuteurés\\
-(et les autres projets...)}
-\date{5 septembre 2013}
+\subtitle{Gestion des branches}
+\date{6 janvier 2014}
 
 \AtBeginSubsection[]
 {
@@ -33,444 +32,8 @@
 
 %======================================================================
 
-\section{Les branches}
-
-%======================================================================
-
-\subsection{Présentation}
-
-%======================================================================
-
-\frame{\frametitle{Introduction}
-  \begin{itemize}
-  \item
-    La manipulation des branches est certainement une des
-    fonctionnalités les plus puissantes sous git
-  \item
-    Elle est particulièrement simple et rapide par rapport aux autres
-    VCS, où les branches sont généralement difficiles à gérer
-  \item
-    Sous git, la création d'une branche est un processus léger, ce qui
-    encourage son utilisation
-  \item
-    Une \emph{branche} représente une partie de l'arborescence
-    créée par les différents commits contenus dans un dépôt
-  \end{itemize}
-}
-
-%======================================================================
-
-\frame{\frametitle{Représentation arborescente}
-  \begin{itemize}
-  \item
-    Chaque commit créé possède au moins un père : le commit dont il
-    est issu
-  \item
-    Il existe ainsi une filiation entre les différents commits d'un
-    dépôt, représentée sous forme d'arbre
-  \end{itemize}
-  \begin{center}
-    \includegraphics[scale=.4]{arbre.eps}
-  \end{center}
-}
-
-%======================================================================
-
-\frame{\frametitle{Branche \ext{master}}
-  \begin{itemize}
-  \item
-    Rappel : la création d'un dépôt git entraîne automatiquement la
-    création d'une branche par défaut, appelée \ex{master}
-  \item
-    Techniquement, cette branche correspond à une variable \ex{master}
-    pointant toujours vers le dernier commit réalisé
-  \end{itemize}
-  \begin{center}
-    \includegraphics[scale=.4]{arbremaster.eps}
-  \end{center}
-}
-
-%======================================================================
-
-\frame{\frametitle{Intérêt de nouvelles branches}
-  \begin{itemize}
-  \item
-    Il est possible de créer de nouvelles branches pour faire évoluer,
-    \textit{simultanément}, le développement dans des directions
-    différentes
-    \begin{itemize}
-    \item
-      développement collaboratif (= plusieurs développeurs)
-    \item
-      correction de bugs
-    \item
-      ajout de fonctionnalités
-    \item
-      etc.
-    \end{itemize}
-  \item
-    Un moyen simple de savoir sur quelle branche on se trouve\\
-    \mygit{git branch}{gitbranch1.txt}
-  \item
-    Le symbole \ex{*} désigne la branche courante (utile lorsque
-    plusieurs branches existent)
-  \end{itemize}
-}
-
-%======================================================================
-
-\frame{\frametitle{Création d'une nouvelle branche}
-  \begin{itemize}
-  \item
-    Pour créer une nouvelle branche, ajouter un nom de branche à la
-    commande précédente\\
-    \mygitplus{git branch nouveau}\\
-    \mygit{git branch}{gitbranch2.txt}
-  \item
-    Cette commande ne fait que créer une nouvelle branche, elle ne
-    permet pas de basculer vers cette nouvelle branche
-  \end{itemize}
-}
-
-%======================================================================
-
-\frame{\frametitle{Création d'une nouvelle branche}
-  \begin{itemize}
-  \item
-    La création d'une nouvelle branche entraîne la création d'une
-    nouvelle variable représentant cette branche
-  \end{itemize}
-  \begin{center}
-    \includegraphics[scale=.4]{arbremasternouv.eps}
-  \end{center}
-}
-
-%======================================================================
-
-
-\frame{\frametitle{Le pointeur \ext{HEAD}}
-  \begin{itemize}
-  \item
-    Pour savoir dans quelle branche le dépôt se situe, git utilise un
-    pointeur spécial appelé \ex{HEAD}
-  \item
-    Cette variable pointe toujours vers (le dernier commit de) la
-    branche courante
-  \end{itemize}
-  \begin{center}
-    \includegraphics[scale=.4]{arbrehead.eps}
-  \end{center}
-}
-
-%======================================================================
-
-\frame{\frametitle{Passage d'une branche à une autre}
-  \begin{itemize}
-  \item
-    La commande permettant de changer de branche est \ex{git checkout
-      \emph{branche}}, soit dans l'exemple courant\\
-    \mygitplus{git checkout nouveau}\\
-    \mygit{git branch}{gitbranch3.txt}
-  \end{itemize}
-  \begin{center}
-    \includegraphics[scale=.4]{arbrehead2.eps}
-  \end{center}
-}
-
-%======================================================================
-
-\frame{\frametitle{Passage d'une branche à une autre}
-  \begin{itemize}
-  \item
-    Lors du passage d'une branche à une autre, git restaure le
-    répertoire de travail dans l'état correspondant à la branche
-    sélectionnée (uniquement pour les fichiers suivis par git)
-  \item
-    Attention : on ne peut pas changer de branche s'il reste
-    des modifications en attente dans le répertoire de travail
-  \item
-    Pour créer une branche tout en s'y déplaçant\\
-    \mygit{git branch}{gitbranch1.txt}
-    \mygitplus{git checkout -b nouveau}\\
-    \mygit{git branch}{gitbranch3.txt}
-  \end{itemize}
-}
-
-%======================================================================
-
-\frame{\frametitle{Introduction}
-  \begin{itemize}
-  \item
-    
-  \end{itemize}
-}
-
-%======================================================================
-
-\frame{\frametitle{Fusion de branches}
-  \begin{itemize}
-  \item
-    Les commandes \ex{merge} et \ex{rebase}
-  \end{itemize}
-}
-
-%======================================================================
-
-\subsection{Exemples d'utilisation}
-
-%======================================================================
-
-\frame{\frametitle{Introduction}
-  \begin{itemize}
-  \item
-    Afin de bien comprendre les particularités des différentes
-    stratégies liées aux branches
-    \begin{enumerate}
-    \item
-      on part d'une situation initiale correspondant à un dépôt
-      contenant uniquement une branche master avec 3 commits
-    \item
-      on simule un travail, correspondant à l'ajout d'une nouvelle
-      fonctionnalité tout en corrigeant un bug
-    \item
-      on applique une des 5 stratégies présentées
-    \item
-      on présente le résultat obtenu
-    \end{enumerate}
-  \item
-    Toutes les stratégies sont techniquement correctes
-  \item
-    Les résultats obtenus varient naturellement en fonction de la
-    stratégie appliquée
-  \end{itemize}
-}
-
-%======================================================================
-
-\frame{\frametitle{Introduction}
-  \framesubtitle{Détail de la simulation}
-  \begin{itemize}
-  \item
-    On crée une nouvelle branche \ex{nouvfonc} correspondant à l'ajout
-    d'une nouvelle fonctionnalité dans laquelle on ajoute 2 commits
-  \item 
-    On revient parallèlement dans la branche \ex{master} pour y faire
-    une correction de bug
-  \item 
-    On souhaite ensuite fusionner \ex{nouvfonc} dans \ex{master} et
-    supprimer ensuite la branche \ex{nouvfonc}
-  \end{itemize}
-
-  \textbf{\huge Important}
-  \begin{itemize}
-  \item 
-    Insérer ici une image de la situation de départ
-  \item
-    Reprendre les images de chaque stratégie et encercler en rouge les
-    2 commits de la nouvelle fonctionnalité
-  \end{itemize}
-}
-
-%======================================================================
-
-
-\frame{\frametitle{Introduction}
-  \framesubtitle{Détail des stratégies étudiées}
-  \begin{enumerate}
-  \item
-    \ex{checkout master, rebase nouvfonc, delete branch nouvfonc}
-  \item 
-    \ex{checkout master, merge nouvfonc, delete branch nouvfonc}
-  \item 
-    \ex{checkout nouvfonc, rebase master, checkout master, merge
-      nouvfonc, delete branch nouvfonc}
-  \item 
-    \ex{checkout nouvfonc, rebase master, checkout master, merge
-      -{}-no-ff nouvfonc, delete branch nouvfonc}
-  \item 
-    \ex{checkout master, merge nouvfonc -{}-no-ff, delete branch
-      nouvfonc}
-  \end{enumerate}
-}
-
-%======================================================================
-
-\newcommand{\branchstrategie}[4]{
-\frame{\frametitle{#1}
-  \begin{tabular}{lp{3cm}}
-    \begin{minipage}[b]{.5\linewidth}
-      {\small
-        #2
-      }
-    \end{minipage}
-    &
-    \centerline{\includegraphics[scale=.5]{#3}}
-  \end{tabular}
-  #4
-}}
-
-%======================================================================
-
-\branchstrategie{Stratégie 1}
-{
-  \ex{git checkout master}\\
-  \ex{git rebase nouvfonc}\\
-  \ex{git branch -d nouvfonc}
-}
-{strat1.png}
-{
-  \begin{itemize}
-  \item
-    Tout est linéaire, le commit de la branche dont on est parti étant
-    en dernier
-  \item
-    On ne voit pas bien les commits correspondant à la
-    nouvelle fonctionnalité
-  \end{itemize}
-}
-
-%======================================================================
-
-\branchstrategie{Stratégie 2}
-{
-  \ex{git checkout master}\\
-  \ex{git merge nouvfonc}\\
-  \ex{git branch -d nouvfonc}
-}
-{strat2.png}
-{
-  \begin{itemize}
-  \item
-    Le commit du changement de titre paraît à part, ce qui n'est pas
-    encore trop gênant
-  \item
-    On a l'impression que les premiers commits sont sur la même lancée
-    que la branche de nouvelle fonctionnalité, ce qui induit en erreur
-    : ce n'est pas clair
-  \end{itemize}
-}
-
-%======================================================================
-
-\branchstrategie{Stratégie 3}
-{
-  \ex{git checkout nouvfonc}\\
-  \ex{git rebase master}\\
-  \ex{git checkout master}\\
-  \ex{git merge nouvfonc}\\
-  \ex{git branch -d nouvfonc}
-}
-{strat3.png}
-{
-  \begin{itemize}
-  \item
-    Tout est linéaire, le commit de la branche dont on est parti étant
-    en dernier
-  \item
-    On ne voit pas bien les commits correspondant à la nouvelle
-    fonctionnalité (idem stratégie 1 donc)
-  \end{itemize}
-}
-
-%======================================================================
-
-\branchstrategie{Stratégie 4}
-{
-  \ex{git checkout nouvfonc}\\
-  \ex{git rebase master}\\
-  \ex{git checkout master}\\
-  \ex{git merge -{}-no-ff nouvfonc}\\
-  \ex{git branch -d nouvfonc}
-}
-{strat4.png}
-{
-  \begin{itemize}
-  \item
-    Les deux commits correspondant à la nouvelle fonctionnalité
-    apparaissent clairement.
-  \item
-    C'est le schéma le plus lisible.
-  \end{itemize}
-}
-
-%======================================================================
-
-\branchstrategie{Stratégie 5}
-{
-  \ex{git checkout master}\\
-  \ex{git merge nouvfonc -{}-no-ff}\\
-  \ex{git branch -d nouvfonc}
-}
-{strat5.png}
-{
-  \begin{itemize}
-  \item
-    Idem à la stratégie 2, ce n'est pas le ff qui s'est fait dans ce
-    cas.
-  \end{itemize}
-}
-
-%======================================================================
-
-% \frame{\frametitle{Stratégie 1}
-%   \begin{tabular}{lp{3cm}}
-%     \begin{minipage}[b]{.5\linewidth}
-%       {\small
-%         \ex{git checkout master}\\
-%         \ex{git rebase nouvfonc}\\
-%         \ex{git branch -d nouvfonc}
-%       }
-%     \end{minipage}
-%     &
-%     \centerline{\includegraphics[scale=.5]{strat1.png}}
-%   \end{tabular}
-
-%   \begin{itemize}
-%   \item
-%     Tout est linéaire, le commit de la branche dont on est parti étant
-%     en dernier
-%   \item
-%     On ne voit pas bien les commits correspondant à la
-%     nouvelle fonctionnalité
-%   \end{itemize}
-% }
-
-%======================================================================
-
-\subsection{Travail collaboratif}
-
-%======================================================================
-
-\frame{\frametitle{Introduction}
-  \begin{itemize}
-  \item
-    Le travail de plusieurs personnes sur un même projet fait
-    automatiquement appel à de la gestion de branches
-  \item
-    Chaque personne travaille en effet sur une branche de son propre
-    dépôt
-  \item
-    La réconciliation du travail de ces différentes personnes se fait
-    en fusionnant les branches correspondantes
-  \item
-    Plusieurs stratégies peuvent alors être mises en place pour
-    effectuer cette fusion
-  \end{itemize}
-}
-
-%======================================================================
-
-\subsection{Recommandations}
-
-%======================================================================
-
-\frame{\frametitle{}
-  \begin{itemize}
-  \item
-    
-  \end{itemize}
-}
-
-%======================================================================
+\input{brancheintro}
+\input{branchusecase}
+\input{branchreco}
 
 \end{document}
-- 
GitLab