diff --git a/presentation.tex b/presentation.tex index b736e6af59a00e7817883482898c0235a35243f1..ebf4cfcf41a6776c32fc6a41f40d1150a204c001 100644 --- a/presentation.tex +++ b/presentation.tex @@ -104,6 +104,7 @@ time so that you can recall specific versions later. \frametitle{Creating a git repository} Creating a project folder +\vspace{-1em} \begin{shcode} ~ $ mkdir alpha ~ $ cd alpha @@ -112,16 +113,19 @@ Creating a project folder ~/alpha $ data/letter.txt \end{shcode} we have : +\vspace{-1em} \begin{shcode} alpha └── data └── letter.txt \end{shcode} +\vspace{-1em} \end{frame} \begin{frame}[fragile] \frametitle{Creating a git repository} Creating a git repository +\vspace{-1em} \begin{shcode} ~/alpha $ git init Initialized empty Git repository in alpha/.git/ @@ -129,6 +133,7 @@ Initialized empty Git repository in alpha/.git/ we have : \begin{columns} \begin{column}{0.6\textwidth} +\vspace{-1em} \begin{shcode} alpha ├── data @@ -137,16 +142,63 @@ alpha ├── objects etc... \end{shcode} +\vspace{-1em} \end{column} \begin{column}{0.4\textwidth} \includegraphics[width=0.9\textwidth]{./img/vcs_local.png} \end{column} \end{columns} -The \texttt{.git} directory and its contents are Git’s. +The \mintinline{sh}{.git} directory and its contents are Git’s. All the other files are collectively known as the \textbf{working copy}. They are the user’s. +\end{frame} + +\begin{frame}[fragile] + \frametitle{tracking a file with git} +We want to track the modification made to \mintinline{sh}{letter.txt} +\vspace{-1em} +\begin{shcode} +~/alpha $ git add data/letter.txt +\end{shcode} +git create a new blob file in the \mintinline{sh}{.git/objects/} directory. +\vspace{-1em} +\begin{shcode} +alpha +├── data +│ └── letter.txt +└── .git + ├── objects + │ ├── 78 + │ │ └── 981922613b2afb6025042ff6bd878ac1994e85 + etc... +\end{shcode} +\vspace{-1em} +\end{frame} + +\begin{frame}[fragile] + \frametitle{tracking a file with git} +We want to track the modification made to \mintinline{sh}{letter.txt}\\[-2em] +\begin{shcode} +~/alpha $ git add data/letter.txt +\end{shcode} +\vspace{-2.5em} + +git create a new \textbf{blob} file in the \mintinline{sh}{.git/objects/} directory\\[-2em] +\begin{shcode} + ├── objects + │ ├── 78 + │ │ └── 981922613b2afb6025042ff6bd878ac1994e85 +\end{shcode} +\vspace{-2.5em} +Git \textbf{blob}:\\[-2.5em] +\begin{itemize} + \item contains the compressed content of a file + \item The name of the blob is the SHA1 of the file. + \item The first two characters of the SHA1 are used as the name of a directory inside the objects folder + \item The rest of the hash is used as the name of the blob file +\end{itemize} \end{frame} \end{document}