SHELL:=/bin/bash
+TEX:=pdflatex
.PHONY: clean clobber
-git.pdf: git.tex preamble.fmt 1.png
- pdflatex $<
+git.pdf: git.tex preamble.fmt 1.png 2.png
+ $(TEX) $<
+ $(TEX) $<
preamble.fmt: preamble.tex vc.tex
- pdflatex -ini -jobname="$(basename $<)" "&pdflatex $<\dump"
+ $(TEX) -ini -jobname="$(basename $<)" "&$(TEX) $<\dump"
1.png:
wget -qO- http://www.androidworld.it/wp-content/uploads/2014/02/linus-torvalds-getty-final.jpg\
| convert -resize 10\% - $@
+2.png:
+ wget -qO$@ http://blog.osteele.com/images/2008/git-transport.png
+
vc.tex: .git/logs/HEAD
git log -1 --format="format:\\gdef\\GITAbrHash{%H}" > $@
clean:
- $(RM) -v *.{eps,aux,fmt,bbl,blg,dvi,log,out,toc,nav,snm} vc.tex
+ $(RM) -v *.{vrb,eps,aux,fmt,bbl,blg,dvi,log,out,toc,nav,snm} vc.tex
clobber: clean
$(RM) -v *.{png,pdf}
\item Mart Lubbers
\item 4th year bachelor AI
\item \url{https://github.com/dopefishh/gitflashtalk}
- \item Sha of this version: {\tiny\GITAbrHash}
+ \item SHA of the commit of this presentation: {\tiny\GITAbrHash}
\end{itemize}
\end{frame}
\begin{frame}
\frametitle{Where did GIT come from?}
- \begin{block}{Since 2005}
- \begin{columns}
- \column{0.4\linewidth}
+ \begin{block}{History}
+ \begin{columns} \column{0.4\linewidth}
\begin{itemize}
- \item \textipa{[g \'i t]}
+ \item Pronounce: \textipa{[g \'i t]}
\item Linus Thorvalds
\item Linux kernel
\end{itemize}
\end{frame}
\section{Basics}
+\subsection{Installation}
+\begin{frame}[fragile]
+ \begin{block}{{\Large\Smiley\Smiley} Linux}
+ Depending on the distribution you may have to do:\\
+ \lstinline{# apt-get install git}\\
+ \lstinline{# pacman -S git}\\
+ \lstinline{# yum install git}\\
+ \lstinline{# emerge --ask dev-vcs/git}\\
+ Etc...
+ \end{block}
+
+ \begin{block}{{\Large\Frowny\Smiley} Mac}
+ Install via XCode tools. Just run \lstinline{\$ 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}
+
+\subsection{Getting started}
+\begin{frame}[fragile]
+ \frametitle{Getting started}
+ \begin{block}{Check GIT version in (git)bash}
+ \begin{lstlisting}
+frobnicator@frobmachine:~\$ git --version
+git version 1.7.10.4
+ \end{lstlisting}
+ \end{block}
+
+ \begin{block}{Create a repository}
+ \begin{lstlisting}
+frobnicator@frobmachine:~/projects\$ git init myfirstproject
+Initialized empty Git repository in /home/frobnicator/projects/myfirstproject/.git/
+frobnicator@frobmachine:~/projects\$ ls -1 myfirstproject/.git
+branches/
+config
+description
+HEAD
+hooks/
+info/
+objects/
+refs/
+ \end{lstlisting}
+ \end{block}
+\end{frame}
+
+\subsection{Four(five) stages}
+\begin{frame}
+ \frametitle{Four(five) stages}
+ \begin{itemize}
+ \item (Stash)
+ \item Workspace
+ \item Index
+ \item Local repo
+ \item Upstream repo
+ \end{itemize}
+\end{frame}
+
+\begin{frame}
+ \frametitle{Workflow}
+ \begin{figure}[H]
+ \centering
+ \includegraphics[scale=0.4]{2.png}
+ \caption{Git workflow}
+ \end{figure}
+\end{frame}
\section{Branching}