From: Mart Lubbers Date: Sat, 12 Mar 2016 15:46:57 +0000 (+0100) Subject: introduction done X-Git-Url: https://git.martlubbers.net/?a=commitdiff_plain;h=090eb0b1c6e4922f73eeb1b72162ae12b2b8cda1;p=ai-gitworkshop.git introduction done --- diff --git a/git.tex b/git.tex index dfe3154..4e08bd8 100644 --- a/git.tex +++ b/git.tex @@ -5,18 +5,149 @@ \end{frame} \section{What is GIT} +\subsection{Who am I?} \begin{frame} \frametitle{Who am I?} \begin{itemize} \item Mart Lubbers - \item 4th year bachelor AI - \item \url{https://github.com/dopefishh/gitflashtalk} + \item Bachelors in Artificial Intelligence + \item 1th year master Software science + \item + {\tiny\url{https://ygdrassil.martlubbers.net/git/gitflashtalk.git}} \item SHA of the commit of this presentation: {\tiny\GITAbrHash} \end{itemize} \end{frame} +\subsection{What is git} +\begin{frame} + \frametitle{History of version control} + \begin{block}{What is version control?} + \begin{itemize} + \item Text files + \item Collaboration + \item Possibly centralized or distributed + \end{itemize} + \end{block} + + \begin{block}{History} + \begin{tabular}{lllp{6em}l} + \toprule + Gen & Networking & Operations & Concurrency & Examples\\ + \midrule + 1 & None & One file & Locks & RCS, SCSS\\ + 2 & Centralized & Multi-file & Merge before commit & CVS, SVN\\ + 3 & Distributed & Changeset & Commit before merge & + Git, Mercurial\\ + \bottomrule + \end{tabular} + {\tiny Table from \url{% + http://ericsink.com/vcbe/html/history_of_version_control.html}} + \end{block} +\end{frame} + +\begin{frame}[fragile] + \frametitle{What is Git} + \begin{block}{Origins} + \begin{itemize} + \item Pronounce: \textipa{[g\'\i t]} + \item 2005 because \textit{Bitkeeper} changed terms + \item Linux kernel + \end{itemize} + \end{block} + + \begin{block}{Initial \texttt{readme} from 2005} + \begin{minted}{text} + GIT - the stupid content tracker + +"git" can mean anything, depending on your mood. + + - random three-letter combination that is pronounceable, and not + actually used by any common UNIX command. The fact that it is a + mispronounciation of "get" may or may not be relevant. + - stupid. contemptible and despicable. simple. Take your pick from the + dictionary of slang. + - "global information tracker": you're in a good mood, and it actually + works for you. Angels sing, and a light suddenly fills the room. + - "goddamn idiotic truckload of sh*t": when it breaks + \end{minted} + \end{block} +\end{frame} + +\begin{frame} + \frametitle{Why Git?} + \begin{block}{Pros} + \begin{itemize} + \item Fast + \item Scaleable + \item Simple + \item Support for non linear development + \item Intermediate stage between committing and pushing + \end{itemize} + \end{block} + + \begin{block}{Cons} + \begin{itemize} + \item Binary files + \item Intermediate stage between committing and pushing + \end{itemize} + \end{block} +\end{frame} + +\begin{frame} + \frametitle{Before we start} + \pause + \huge Git is not Github +\end{frame} + \section{Introduction} +\subsection{Installation} +\begin{frame}[fragile] + \begin{block}{{\Large\Smiley\Smiley} Linux} + Depending on the distribution you may have to do:\\ + \mint{console}{# apt-get install git} + \mint{console}{# pacman -S git} + \mint{console}{# yum install git} + \mint{console}{# emerge --ask dev-vcs/git} + Etc\ldots + \end{block} + + \begin{block}{{\Large\Frowny\Smiley} Mac} + Install via XCode tools. Just run \mintinline{console}{|\$| git} and + when Git is not installed it will prompt you with instructions. + \end{block} + + \begin{block}{{\Large\Frowny\Frowny} Windows} + Downoad the binary from \url{http://git-scm.com/download/win} and + install. + \end{block} +\end{frame} + +\begin{frame}[fragile] + \begin{block}{Linux/Mac} + \begin{itemize} + \item[Step 1.] Open your favourite terminal. + \item[Step 2.] + \begin{minted}{console} +|\$| git --version +git version 2.7.2 + \end{minted} + \end{itemize} + \end{block} + + \begin{block}{Windows} + \begin{itemize} + \item[Step 1.] Open \texttt{git-bash}. \texttt{git-bash} is a UNIX + like environment with all the necessary tools. + \item[Step 2.] + \begin{minted}{console} +frobnicator@frobmachine MINGW64 ~ +|\$| git --version +git version 2.7.2.windows.1 + \end{minted} + \end{itemize} + \end{block} +\end{frame} \section{Local} diff --git a/pre.tex b/pre.tex index 60ff458..1e1abcd 100644 --- a/pre.tex +++ b/pre.tex @@ -3,6 +3,8 @@ \usepackage[tone,safe]{tipa} \usepackage{minted} \usepackage{graphicx} +\usepackage{booktabs} +\usepackage{marvosym} \usecolortheme{dove} \usetheme{Singapore} @@ -17,11 +19,24 @@ \date[2015]{\today} \subject{Git} +% For the git sha hash \input{vc.tex} \graphicspath{{./img/}} \setminted{% + fontsize=\scriptsize, + escapeinside=|| +} + +\hypersetup{% + pdftitle={Version control with Git}, + pdfauthor={Mart Lubbers}, + pdfsubject={git}, + pdfcreator={Mart Lubbers}, + pdfproducer={Mart Lubbers}, + pdfkeywords={git}, + hidelinks } \AtBeginSection[]{%