Divergences - explications théoriques

parent 0036381f
Pipeline #32854 failed with stage
in 12 seconds
......@@ -16,21 +16,117 @@
\end{frame}
\begin{frame}[fragile]{Gestion non linéaire}
\begin{block}{}
\centering
\enquote{Mais pourquoi est-ce qu'on fait ça ?}
\end{block}
\bigskip
\Pause
Une divergence s'effectue à partir d'un certain point : tout le travail précédent l'instant de divergence est commun à toutes les branches postérieures à la création de la divergence.
\medskip
On peut donner quelques raisons \enquote{générales} sur l'utilité des divergences :
\begin{itemize}
\item isoler les travaux indépendants en cours
\item traiter les problèmes d'intégration séparément
\item enregistrer des versions spécifiques
\end{itemize}
En pratique, l'utilisation des divergences dépend beaucoup du type de projet, de la répartition des travaux entre les contributeurs et des méthodes de travail adoptées.
\end{frame}
\begin{frame}
\frametitle{Création d'une divergence}
\framesubtitle{Comment créer une divergence}
\framesubtitle{Analyse}
\begin{figure}[h]
\centering
\input{src/tikz/arbre.tex}
\end{figure}
\begin{itemize}
\item C2 et C3 ont tous les deux C1 comme père
\item C2 et C3 introduisent des modifications différentes après C1
\item ici, C2 et C3 sont sur \textbf{deux branches différentes de C1}
\end{itemize}
\end{frame}
\begin{frame}
\frametitle{Création d'une divergence}
\framesubtitle{Analyse}
\begin{figure}[h]
\centering
\input{src/tikz/arbre.tex}
\end{figure}
\begin{itemize}
\item C4 et C5 ont tous les deux C3 comme père
\item C4 et C5 introduisent des modifications différentes après C3
\item C4 est sur une branche \textbf{différente de C3}
\item C5 est sur \textbf{la même branche que C3}
\end{itemize}
\end{frame}
\begin{frame}
\frametitle{Création d'une divergence}
\framesubtitle{Explications}
\framesubtitle{Mise en contexte}
\begin{block}{}
Alice, Bob et Charlie travaillent sur un rapport ensemble et décident d'utiliser Git pour gérer l'avancée de leur travail.
\end{block}
\begin{figure}[h]
\centering
\input{src/tikz/arbre.tex}
\end{figure}
\begin{itemize}
\item Alice met en place la structure globale du rapport avec C0 et C1
\Pause
\item Bob se charge de la partie 1, il crée une nouvelle branche dédiée à sa partie et ajoute C2
\end{itemize}
\end{frame}
\begin{frame}
\frametitle{Création d'une divergence}
\framesubtitle{Illustrations / exemple}
\framesubtitle{Mise en contexte}
\begin{figure}[h]
\centering
\input{src/tikz/arbre.tex}
\end{figure}
\begin{itemize}
\item Charlie s'occupe de la partie 2.1 : il ajoute la structure de la partie 2 avec C3 sur une nouvelle branche, et avance sa partie avec C5
\Pause
\item Alice rédige la partie 2.2 : elle crée une nouvelle branche à partir de C3 pour récupérer la structure de la partie 2, puis ajoute C4 et C6
\end{itemize}
\end{frame}
\begin{frame}
\frametitle{Fusion !}
\begin{figure}[h]
\centering
\input{src/tikz/arbre.tex}
\end{figure}
\begin{block}{}
\centering
\enquote{Attends un peu, et C7 il fait quoi ? Et pourquoi il a deux pères ?}
\end{block}
\Pause
\begin{itemize}
\item C7 est un commit un peu spécial : c'est un \textbf{commit de fusion};
\item Objectif : intégrer les modifications de la branche bleue dans la branche verte (Alice fusionne ses modifications dans la branche de Charlie);
\item Il a bien \textbf{deux} pères (c'est la seule situation où ça arrive);
\item \textbf{Attention !} Si C5 et C6 portent des modifications qui se recouvrent, la fusion va créer des \textbf{conflits} qu'il faudra régler avant de créer C7.
\end{itemize}
\end{frame}
\tikzstyle{commit}=[draw,circle]
\begin{tikzpicture}[scale=0.8]
\begin{tikzpicture}[scale=0.7]
\node[commit, fill=red!50] (C0)at(0,0){C0} ;
\node[commit, fill=red!50] (C1)at(1.5,0){C1} ;
\node[commit, fill=magenta!80] (C2)at(3,1){C2};
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment