Skip to content
Snippets Groups Projects
Commit 1ba45ccf authored by Philippe Dosch's avatar Philippe Dosch
Browse files

Finalizes the rebase part and introduces comparaison between merge and rebase

parent ccdc32f5
No related branches found
No related tags found
No related merge requests found
...@@ -93,7 +93,7 @@ ...@@ -93,7 +93,7 @@
%====================================================================== %======================================================================
\frame{\frametitle{Fonctionnement} \frame{\frametitle{Principe de fonctionnement}
\begin{itemize} \begin{itemize}
\item \item
Pour réaliser la fusion, Git repose, en interne, sur la Pour réaliser la fusion, Git repose, en interne, sur la
...@@ -122,23 +122,31 @@ ...@@ -122,23 +122,31 @@
\begin{itemize} \begin{itemize}
\item \item
Au lieu d'effectuer une fusion au moyen de la commande \ex{merge}, Au lieu d'effectuer une fusion au moyen de la commande \ex{merge},
il est possible d'obtenir un résultat similaire en réécrivant il est possible d'obtenir un résultat similaire en réécrivant (on
l'historique au moyen de la commande \ex{rebase} dit aussi \emph{en rejouant}) l'historique au moyen de la commande
\ex{rebase}
\item \item
Un des usages fait de cette commande est de garder une nouvelle Un des usages fait de cette commande est de garder une nouvelle
branche synchronisée avec la branche dont elle est issue branche synchronisée avec la branche dont elle est issue
\end{itemize}
}
%======================================================================
\frame{\frametitle{Une alternative à la fusion}
\begin{itemize}
\item
Pour assurer cette synchronisation
\begin{itemize} \begin{itemize}
\item \item
la commande \ex{rebase} est alors appliqué régulièrement pour la commande \ex{rebase} est doit être appliquée régulièrement
que la nouvelle branche « profite » aussi des \emph{commits} pour que la nouvelle branche « profite » aussi des
réalisés dans la branche de départ \emph{commits} réalisés dans la branche de départ
\item \item
la fusion finale est généralement facilitée, la synchronisation la fusion finale est généralement facilitée, la synchronisation
régulière permettant de régler les éventuels conflits au fur et régulière permettant de régler les éventuels conflits au fur et
à mesure à mesure
\end{itemize} \end{itemize}
% L'insertion de figures telles que celles présentées pages 165-166
% du bouquin O'Reilly doit permettre de mieux comprendre cet aspect
\end{itemize} \end{itemize}
} }
...@@ -147,14 +155,20 @@ ...@@ -147,14 +155,20 @@
\frame{\frametitle{Principe de fonctionnement} \frame{\frametitle{Principe de fonctionnement}
\begin{itemize} \begin{itemize}
\item \item
La commande \ex{rebase} réécrit chacun des commits à considérer La commande \ex{rebase}
pour qu'ils s'appliquent au contexte de la branche sur laquelle \begin{enumerate}
ils sont portés \item
\item cherche l'ancêtre commun aux deux branches considérées~: ce sera
Incidemment, la commande \ex{rebase} est souvent présentée comme le premier \emph{commit} à réécrire
une commande de \emph{réécriture} \item
réécrit chacun des commits de la nouvelle branche pour qu'ils ne
soient plus relatifs à l'ancêtre commun mais au dernier commit
de la branche de départ
\end{enumerate}
\item \item
Au final, la nouvelle branche intègre aussi bien les
\emph{commits} qui lui sont spécifiques que ceux ajoutés à la
branche de départ
\end{itemize} \end{itemize}
} }
...@@ -179,13 +193,45 @@ ...@@ -179,13 +193,45 @@
%====================================================================== %======================================================================
\frame{\frametitle{\texttt{rebase} \emph{vs} \texttt{merge}} \subsection{Comparaison de \texttt{merge} et de \texttt{rebase}}
%======================================================================
\frame{\frametitle{\texttt{merge} \emph{vs} \texttt{rebase}}
\begin{itemize} \begin{itemize}
\item
Remarques
\begin{itemize}
\item
après un \ex{merge}, c'est la branche de départ qui contient
l'intégralité des \emph{commits} réalisés (branche de base +
nouvelle fonctionnalité)
\item
après un \ex{rebase}, c'est la nouvelle branche qui contient
l'intégralité des \emph{commits} réalisés
\end{itemize}
\item \item
Le résultat obtenu avec un \ex{rebase} est relativement similaire On peut se demander quelle commande il est préférable d'utiliser
à celui obtenu avec un \ex{merge} : dans les deux cas, la branche en général ou si certains contextes conditionnent plutôt l'usage
destination intègre tous les apports des \emph{commits} des deux de l'une ou de l'autre des commandes
branches considérées \end{itemize}
}
%======================================================================
\frame{\frametitle{\texttt{rebase} \emph{vs} \texttt{merge}}
\begin{itemize}
\item
Remarques
\begin{itemize}
\item
après un \ex{merge}, c'est la branche de départ qui contient
l'intégralité des \emph{commits} réalisés (branche de base +
nouvelle fonctionnalité)
\item
après un \ex{rebase}, c'est la nouvelle branche qui contient
l'intégralité des \emph{commits} réalisés
\end{itemize}
\item \item
On peut donc se demander s'il est préférable d'utiliser l'une ou On peut donc se demander s'il est préférable d'utiliser l'une ou
l'autre des commandes ou si certains environnements conditionnent l'autre des commandes ou si certains environnements conditionnent
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment