From c3585c47d4fbddcac2169dc55fe999ed68b9301e Mon Sep 17 00:00:00 2001 From: Elnath Date: Fri, 6 Oct 2017 00:52:09 +0200 Subject: [PATCH] Historique git --- cours_git.tex | 39 +++++++++++++++++++++++++++++++++++++++ img/gitrepo.dia | Bin 0 -> 1359 bytes img/gitrepo.png | Bin 0 -> 13409 bytes 3 files changed, 39 insertions(+) create mode 100644 img/gitrepo.dia create mode 100644 img/gitrepo.png diff --git a/cours_git.tex b/cours_git.tex index 7e723bc..54db163 100644 --- a/cours_git.tex +++ b/cours_git.tex @@ -69,6 +69,45 @@ Git n'est pas un processus qui tourne en permanence: chaque commande est un processus rapide. Tout est enregistré dans des fichiers: il est possible d'interrompre le travail à tout moment. \end{frame} +\section{Le commit} + +\begin{frame} + \begin{block}{} + Le commit est l'entité de base de git. + \end{block} + + Un commit c'est: + \begin{itemize} + \item Un ensemble de changements (sur un ou plusieurs fichiers) + \item Une date + \item Un auteur + \item \textbf{Un message} + \item Un pointeur vers sont parent + \end{itemize} + + \begin{alertblock}{} + Les commit doivent raconter une histoire! + \end{alertblock} +\end{frame} + +\begin{frame} +\frametitle{Un historique git} + \begin{columns}[c] + \column{0.5\textwidth} + \begin{center} + \includegraphics[height=0.7\textheight]{img/gitrepo} + \end{center} + \column{0.5\textwidth} + \begin{itemize} + \item Un projet git c'est une suite de commits (et un pointeur sur le dernier). + \item Le contenu d'un fichier existe comme suite de modifications. + \item Un commit non pointé est un commit perdu. + \end{itemize} + \end{columns} + +\end{frame} + + \end{document} diff --git a/img/gitrepo.dia b/img/gitrepo.dia new file mode 100644 index 0000000000000000000000000000000000000000..840cd2eb69a80b20f66bc1d5f847490f39dda5ae GIT binary patch literal 1359 zcmV-V1+e-biwFP!000021MON(Z`(K!z2{d5%GHrYN|dOkPSIk!=wX2#HhVT`i;=md zB}1Z}`m(=$Ny&+$Pg~YU8zcr2*z$NDhnzQWDC*;Ppoaw+Yb&ZD0$Y)_N z)Bm~u^9Jjm?yf%ijC_!PK}^<~{6(0kPcwZb#OA|v`uO;0@O?r=6dRmvjf77BBb<|| zG@9ynSDNS5HVY91=T{brZas(mOp|x+J?TKSsm<_5szYRNBB&?en?;X z^x$Ti^V8saLjt;pDfv@=*0LR2v5!lAiMm`wzkX-V&*p! zH)m1f<&pVfHUBx#bYe43m{v%F1>r`5r1dTQ2-cIQq^cBvrNDFi2b8Xw$$Im)zlSl~m&(a2J;-P5NR zbE3>QxfzHS|I(#6g#Wi7p-*C8yV1UK&NhY8}m9Pk#-bAiH zZ~(p>eHn$}oQ8fHQu|PAtx%`*54Y>(W*Cif6i$bG?U8gM5k(X@0LE36Vz70F(0W&tH>4==cUKg< zFGYbV>)cT^#Z9rYZHjy^OMp9$taJ|Y%?bNYqw9+>#{_46M!k4!YQ5Os&vQ7Edw)OGEFtQp_SF_AFQwM6Vy zZef{R*>As5zN3OI$<3FD`-Sea5v*q_$b|i*H=BVhpb1g0c;FZ8M15yZzU!I zNS%3F$TIDrdxdg@b)7=~5cV}R3gEp@sO}R$^^q3nyHBV)mo_^S6HcHvBq@R6I3Ac_ z*+XN=Nhrywjt;!sq34ACu6eVMCH zZRK_ozJdn&o~`LGY@o~i^BAo&v}_kb;M%Tfo38B*-8*}QQ~dX~`4_g$+2{0G$GfZC R!;p7Z{{tI(L3}VV008S8qzV84 literal 0 HcmV?d00001 diff --git a/img/gitrepo.png b/img/gitrepo.png new file mode 100644 index 0000000000000000000000000000000000000000..49d47c4ae410b8bfadc4635b11f509c780262b12 GIT binary patch literal 13409 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