+ \frametitle{Branching}
+ \begin{itemize}
+ \item Commit: State of the folder. Has and knows his parent.\\
+ \item Branch: Just a named commit.\\
+ Usually a sidetrack of a project.\\
+ Master, develop, feature, etc\ldots
+ \item Tag: Just a named commit.\\
+ Usually marked point to jump to later on.\\
+ eg. Version release, big change etc\ldots
+ \end{itemize}
+\end{frame}
+
+\begin{frame}[fragile]
+ \frametitle{Branching 2}
+ \begin{block}{See current branch}
+ \begin{lstlisting}
+frobnicator@frobmachine:~/projects/myfirstproject$\$$ git branch
+* master
+ \end{lstlisting}
+ \end{block}
+ \begin{block}{Create new branch}
+ \begin{lstlisting}
+frobnicator@frobmachine:~/projects/myfirstproject$\$$ git checkout -b "develop"
+Switched to a new branch 'develop'
+frobnicator@frobmachine:~/projects/myfirstproject$\$$ git branch
+* develop
+ master
+ \end{lstlisting}
+ \end{block}
+ \begin{block}{Delete branch}
+ \begin{lstlisting}
+frobnicator@frobmachine:~/projects/myfirstproject$\$$ git branch -d "develop"
+Deleted branch develop (was cd094bc).
+frobnicator@frobmachine:~/projects/myfirstproject$\$$ git branch
+* master
+ \end{lstlisting}
+ \end{block}
+\end{frame}
+
+\begin{frame}[fragile]
+ \frametitle{Push \& Pull}
+ \begin{block}{What?}
+ \begin{itemize}
+ \item Push your changes upsteam repository (eg.\ github)
+ \item Pull their changes from upstream
+ \item Merge into your branch
+ \end{itemize}
+ \end{block}
+ \begin{block}{How?}
+ \begin{lstlisting}
+frobnicator@frobmachine:~/projects/myfirstproject$\$$ git remote add origin https://github.com/dopefishh/prj.git
+frobnicator@frobmachine:~/projects/myfirstproject$\$$ git push origin master
+frobnicator@frobmachine:~/projects/myfirstproject$\$$ git pull origin master
+ \end{lstlisting}
+ \end{block}
+\end{frame}
+
+\begin{frame}[fragile]
+ \frametitle{Merge}
+ \begin{block}{Merge develop to master}
+ \begin{lstlisting}
+frobnicator@frobmachine:~/projects/myfirstproject$\$$ git merge develop
+ \end{lstlisting}
+ \end{block}
+
+ \begin{block}{How to get a conflict}
+ \begin{itemize}
+ \item We make a file with three lines
+ \item On every line we set: \texttt{regelN} where N is line
+ number.
+ \item Change line 2 in the master and develop branch to a
+ separate thing.
+ \item Commit both and checkout master
+ \item Do merge
+ \end{itemize}
+ \end{block}
+\end{frame}
+
+\begin{frame}[fragile]
+ \frametitle{Merge 2}
+ \begin{block}{Merge message}
+ \begin{lstlisting}
+frobnicator@frobmachine~/projects/myfirstproject$\$$ git merge develop
+Auto-merging mergeconfict
+CONFLICT (content): Merge conflict in mergeconfict
+Automatic merge failed; fix conflicts and then commit the result.
+ \end{lstlisting}
+ \end{block}
+ \begin{block}{Contents of mergeconflict file}
+ \begin{lstlisting}
+1 regel1
+2 <<<<<<< HEAD
+3 masterregel2
+4 =======
+5 developregel2
+6 >>>>>>> develop
+7 regel3
+ \end{lstlisting}
+ \end{block}