Commit 5b77dd06 authored by Thibaud Duhautbout's avatar Thibaud Duhautbout

Ajout slides rebase

parent af794603
Pipeline #29044 passed with stage
in 20 seconds
......@@ -519,7 +519,68 @@ $ git log --graph --decorate
\end{beamercolorbox}
\end{frame}
\begin{frame}[fragile]{Rebase}
\begin{frame}[fragile]{Rebase -- Avertissement}
\begin{center}
\includegraphics[height=3em]{./imgs/warning.jpg}
\textbf{ATTENTION -- COMMANDE RISQUÉE}
\end{center}
Le \verb+rebase+ cause une \textbf{modification de l'historique} qui peut rendre l'état de votre arbre incohérent avec une éventuelle branche distante (GitLab...).
\bigskip
\begin{block}{Conclusion}
On rebase une branche locale mais \textbf{JAMAIS} une branche synchronisée \\
\tiny{(sauf si vous êtes absolument sûrs de ce que vous faites)}.
\end{block}
\end{frame}
\begin{frame}[fragile]{Rebase -- Différence avec Merge}
Le \verb+rebase+ intègre aussi les modifications d'une branche secondaire sur la branche cible depuis la divergence mais ne crée pas de commit de merge.
\medskip
Les commits effectués depuis la divergence sont \textbf{déplacés et réappliqués} après le dernier commit de la branche cible.
\medskip
Concrètement :
\bigskip
\begin{center}
\includegraphics[height=3em]{imgs/conflit.png}
Merge de la branche bleue dans la branche verte
\end{center}
\medskip
\begin{center}
\includegraphics[height=4em]{imgs/rebase_exemple.png}
Rebase de la branche bleue sur la branche verte
\end{center}
\end{frame}
\begin{frame}[fragile]{Rebase -- En pratique}
Pour ramener la branche de référence au bout de la chaîne de commits après le rebase, on fait une fusion classique (merge).
\begin{block}{Processus de rebase avec fusion}
\begin{itemize}
\item se déplacer sur la branche à rebase \\
\verb+git checkout <branche à rebase>+
\item rebase la branche courante sur la branche de référence \\
\verb+git rebase <branche de référence>+
\item régler les éventuels conflits...
\item se déplacer sur la branche de référence \\
\verb+git checkout <branche de référence>+
\item fusionner la branche à rebase dans la branche de référence \\
\verb+git merge <branche à rebase>+
\end{itemize}
\end{block}
\end{frame}
\subsection{Travail collaboratif}
......
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