Compare commits

..

No commits in common. "master" and "v2.0" have entirely different histories.
master ... v2.0

1 changed files with 23 additions and 25 deletions

View File

@ -34,7 +34,7 @@
\section{Prérequis} \section{Prérequis}
\begin{frame}[fragile] \begin{frame}[fragile]
\frametitle{Prérequis} \frametitle{Prerequis}
Prérequis pour suivre ce cours: Prérequis pour suivre ce cours:
\begin{itemize} \begin{itemize}
\item Savoir lire la signature d'une commande \verb#command -a [-b] [-c | -d] --long-arg PARAM1 PARAMS2...# \item Savoir lire la signature d'une commande \verb#command -a [-b] [-c | -d] --long-arg PARAM1 PARAMS2...#
@ -44,7 +44,7 @@ Prérequis pour suivre ce cours:
\section{Présentation de git} \section{Présentation de git}
\begin{frame} \begin{frame}
\frametitle{Qu'est-ce que c'est?} \frametitle{C'est quoi git}
\begin{columns}[c] \begin{columns}[c]
\column{0.5\textwidth} \column{0.5\textwidth}
\begin{block}{} \begin{block}{}
@ -63,12 +63,12 @@ Prérequis pour suivre ce cours:
\end{frame} \end{frame}
\begin{frame} \begin{frame}
\frametitle{Ça permet de faire quoi?} \frametitle{Ça permet de faire quoi}
\begin{itemize} \begin{itemize}
\item Ne pas perdre son travail \item Ne pas perdre son travail
\item Pouvoir inspecter des versions spécifiques de son travail \item Pouvoir inspecter des versions spécifiques de son travail
\item Travailler à plusieurs \item Travailler à plusieurs
\item Pouvoir rejeter la faute d'un bug sur un collègue (on sait qui a codé quoi) \item Pouvoir donner la faute d'un bug à un collègue (on sait qui a codé quoi)
\end{itemize} \end{itemize}
\vspace{2\baselineskip} \vspace{2\baselineskip}
@ -99,12 +99,12 @@ Prérequis pour suivre ce cours:
\item Une date \item Une date
\item Un auteur \item Un auteur
\item \textbf{Un message}: il peut être sur plusieurs lignes! \item \textbf{Un message}: il peut être sur plusieurs lignes!
\item \textbf{Un pointeur vers son parent} \item \textbf{Un pointeur vers sont parent}
\item \textbf{Un hash unique} basé sur tout ça (plus ou moins). \item \textbf{Un hash unique} basé sur tout ça (plus ou moins).
\end{itemize} \end{itemize}
\begin{alertblock}{} \begin{alertblock}{}
Les commits doivent raconter une histoire! Les commit doivent raconter une histoire!
\end{alertblock} \end{alertblock}
\end{frame} \end{frame}
@ -144,8 +144,8 @@ Prérequis pour suivre ce cours:
\frametitle{Ça sert à quoi?} \frametitle{Ça sert à quoi?}
\begin{itemize} \begin{itemize}
\item Travailler à plusieurs. \item Travailler à plusieurs.
\item Faire plusieurs choses en même temps (nouvelle fonctionnalité, correction de bugs, ...). \item Faire plusieurs choses au même temps (nouvelle fonctionnalité, correction de bugs, ...).
\item Essayer de nouvelles choses en parallèle sans impacter le projet: modifications indépendantes sur une même base. \item Essayer des nouvelles choses en parallèle sans impacter le projet: modifications indépendantes sur une même base.
\end{itemize} \end{itemize}
\vspace{2\baselineskip} \vspace{2\baselineskip}
@ -204,7 +204,7 @@ Prérequis pour suivre ce cours:
\begin{itemize} \begin{itemize}
\item Git affiche un message d'erreur en cas de conflit \item Git affiche un message d'erreur en cas de conflit
\item Les conflits sont clairement délimités dans les fichiers à l'aide de chevrons \item Les conflits sont clairement délimités dans les fichiers à l'aide de chevrons
\item Git présente les deux versions du bout de code et demande à l'humain de choisir la version finale (en modifiant le code et en supprimant les chevrons) \item Git présente les deux versions du bout de code et demande à l'humain de choisir la version finale (en modifiant le code et supprimant les chevrons)
\item Il est aussi possible d'abandonner le merge \item Il est aussi possible d'abandonner le merge
\end{itemize} \end{itemize}
@ -287,20 +287,20 @@ Prérequis pour suivre ce cours:
\begin{itemize} \begin{itemize}
\item Tout ce qui est sur le dépôt distant est commun. \item Tout ce qui est sur le dépôt distant est commun.
\item Il ne faut rien modifier qui puisse être atteint à partir d'un commit présent sur le dépôt distant. \item Il ne faut modifier rien qui puisse être atteint à partir d'un commit présent sur le dépôt distant.
\end{itemize} \end{itemize}
\end{frame} \end{frame}
\subsection{Les commandes} \subsection{Les commandes}
\begin{frame}[fragile] \begin{frame}[fragile]
\frametitle{Les commandes des remotes} \frametitle{Les commande des remotes}
\begin{itemize} \begin{itemize}
\item Mettre à jour la copie locale de la branche remote (commande non-destructive): \verb|git fetch| \item Mettre à jour la copie locale de la branche remote (commande non-destructive): \verb|git fetch|
\item Récupérer les modifications de la branche remote et les ajoute dans la branche courante: \verb#git pull [ --merge | --rebase ]# \item Récupère les modifications de la branche remote et les ajoute dans la branche courante: \verb#git pull [ --merge | --rebase ]#
\item Pousser les modifications de la branche courante sur le remote: \verb|git push|. \item Pousse les modifications de la branche courante sur le remote: \verb|git push|.
\begin{itemize} \begin{itemize}
\item Il faut avoir fait un pull avant \item Il faut avoir fait un pull avant
\item Dans le cas où la branche remote n'existe pas (elle sera créée): \verb|git push -u origin NOM| \item Dans le cas que la branche remote n'existe pas (elle sera crée): \verb|git push -u origin NOM|
\end{itemize} \end{itemize}
\end{itemize} \end{itemize}
\end{frame} \end{frame}
@ -339,17 +339,16 @@ Prérequis pour suivre ce cours:
\end{columns} \end{columns}
\end{frame} \end{frame}
\begin{frame}[fragile] \begin{frame}[fragile]{Merge vs Rebase}
\frametitle{Merge vs Rebase}
\begin{itemize} \begin{itemize}
\item Merge: la résolution de tous les conflits est dans le commit de merge. Rebase: chaque commit est modifié pour résoudre ses conflits \item Merge: la résolution de tous les conflits est dans le commit de merge. Rebase: chaque commit est modifié pour résoudre ses conflits
\begin{itemize} \begin{itemize}
\item Rebase modifie directement les conflits (comme s'il n'y en avait pas eu) plutôt que d'ajouter un commit de ``solution'' \item Rebase modifie directement les conflits (comme s'il y en avait pas eu) plutôt que d'ajouter un commit de ``solution''
\end{itemize} \end{itemize}
\item Rebase: ``triche'' sur la façon de raconter l'historique \item Rebase: ``triche'' sur la façon de raconter l'historique
\item Rebase: historique propre \item Rebase: historique propre
\begin{itemize} \begin{itemize}
\item Le seuls merge présents dans l'historique sont ceux qui signifient quelque chose (e.g. une nouvelle fonctionnalité ajoutée) \item Le seuls merge présents dans l'historique c'est ceux qui signifient quelque chose (e.g. une nouvelle fonctionnalité ajoutée)
\end{itemize} \end{itemize}
\end{itemize} \end{itemize}
@ -388,19 +387,18 @@ Prérequis pour suivre ce cours:
\verb|git reset --hard COMMIT_HASH| permet de bouger la tête de la branche sur un commit particulier, \textbf{en écrasant toutes les modifications faites depuis}. \verb|git reset --hard COMMIT_HASH| permet de bouger la tête de la branche sur un commit particulier, \textbf{en écrasant toutes les modifications faites depuis}.
\begin{block}{} \begin{block}{}
\verb|git reset --hard HEAD| supprime toutes les modifications faites depuis le dernier commit (modifications non enregistrées dans un commit). \verb|git reset --hard HEAD| supprime toutes les modifications faites depuis le dernier commit (modifications pas enregistrées dans un commit).
\end{block} \end{block}
\end{frame} \end{frame}
\section{Conclusion} \section{Conclusion}
\begin{frame}{Utilitaires} \begin{frame}{Git bash}
\begin{itemize} Affiche des informations sur les dépôt git dans le terminal.
\item Git bash: affichage d'informations sur le dépôt dans le terminal \url{https://github.com/magicmonty/bash-git-prompt}
\item gitk: Outil graphique
\item git-gui: Un autre outil graphique
\end{itemize}
\vspace{2\baselineskip}
\url{https://github.com/magicmonty/bash-git-prompt}
\end{frame} \end{frame}
\begin{frame}[fragile]{Pas vu dans ce cours} \begin{frame}[fragile]{Pas vu dans ce cours}