From d5435bf6417f71c50ae53fac697f792149f6a4b0 Mon Sep 17 00:00:00 2001 From: Mart Lubbers Date: Thu, 16 Apr 2015 23:13:50 +0200 Subject: [PATCH] Big info update, branching and more committing Preamble now has smaller listing font Branching added. Todo: - Push and pull - Merging - Tips and tricks(ssh keys, gitconfig) --- git.tex | 134 ++++++++++++++++++++++++++++++++++++++++++++++++--- preamble.tex | 2 +- 2 files changed, 129 insertions(+), 7 deletions(-) diff --git a/git.tex b/git.tex index 2ffc3bd..c8a6a7a 100644 --- a/git.tex +++ b/git.tex @@ -88,7 +88,7 @@ \end{frame} -\section{Getting started \& Workflow} +\section{Getting started \& workflow} \begin{frame}[fragile] \frametitle{Getting started} \begin{block}{Check GIT version in (GIT) bash} @@ -116,7 +116,6 @@ refs/ \end{block} \end{frame} -\subsection{Four (five) stages} \begin{frame} \frametitle{Four (five) stages} \begin{itemize} @@ -178,19 +177,143 @@ frobnicator@frobmachine:~/projects/myfirstproject\$ git commit \end{lstlisting} \end{frame} -\begin{frame} +\begin{frame}[fragile] \frametitle{Log \& Checkout} - \begin{block}{\texttt{\$ git log}} + \begin{lstlisting} +frobnicator@frobmachine~/projects/myfirstproject\$ echo "This is a second frobbedfile" > frob2 +frobnicator@frobmachine~/projects/myfirstproject\$ git add frob2 +frobnicator@frobmachine~/projects/myfirstproject\$ git commit -m "This is a second commit" +[master cd094bc] This is a second commit + 1 file changed, 1 insertion(+) + create mode 100644 frob2 + \end{lstlisting} +\end{frame} + +\begin{frame}[fragile] + \frametitle{Log \& Checkout 2} + \begin{lstlisting} +frobnicator@frobmachine~/projects/myfirstproject\$ git log +commit cd094bc6b81812256533395454db22da07d1e5a4 +Author: Frob Nicator +Date: Thu Apr 16 22:44:42 2015 +0200 + + This is a second commit + +commit c9c9b358cddcbee541ec433a2dc2d5ffe3e928c2 +Author: Frob Nicator +Date: Thu Apr 16 22:44:42 2015 +0200 + + Adds frobbedfile +frobnicator@frobmachine~/projects/myfirstproject\$ ls +frob2 frobbedfile + \end{lstlisting} +\end{frame} + +\begin{frame}[fragile] + \frametitle{Log \& Checkout 2} + \begin{lstlisting} +frobnicator@frobmachine~/projects/myfirstproject\$ git checkout c9c9b3 +Note: checking out 'c9c9b3'. + +You are in 'detached HEAD' state. You can look around, make experimental +changes and commit them, and you can discard any commits you make in this +state without impacting any branches by performing another checkout. + +If you want to create a new branch to retain commits you create, you may +do so (now or later) by using -b with the checkout command again. Example: + + git checkout -b new_branch_name +HEAD is now at c9c9b35... Adds frobbedfile +frobnicator@frobmachine~/projects/myfirstproject\$ ls +frobbedfile + \end{lstlisting} +\end{frame} + +\begin{frame}[fragile] + \frametitle{Log \& Checkout 3} + \framesubtitle{We lost our commit and our file!} + \begin{lstlisting} +frobnicator@frobmachine~/projects/myfirstproject\$ git log +commit c9c9b358cddcbee541ec433a2dc2d5ffe3e928c2 +Author: Frob Nicator +Date: Thu Apr 16 22:44:42 2015 +0200 + + Adds frobbedfile +frobnicator@frobmachine~/projects/myfirstproject\$ ls +frobbedfile + \end{lstlisting} +\end{frame} + +\begin{frame}[fragile] + \frametitle{Log \& Checkout 4} + \begin{block}{Ofcourse not, you never lose stuff with git} + \begin{lstlisting} +frobnicator@frobmachine~/projects/myfirstproject\$ git log --all +commit cd094bc6b81812256533395454db22da07d1e5a4 +Author: Frob Nicator +Date: Thu Apr 16 22:44:42 2015 +0200 + + This is a second commit +... +... + \end{lstlisting} \end{block} - \begin{block}{\texttt{\$ git checkout}} +\end{frame} +\begin{frame}[fragile] + \frametitle{Log \& Checkout 5} + \begin{block}{We can just checkout the hash again} + \begin{lstlisting} +frobnicator@frobmachine~/projects/myfirstproject\$ ls +frob2 frobbedfile +frobnicator@frobmachine~/projects/myfirstproject\$ git log --decorate --oneline --graph --all +* cd094bc (HEAD, master) This is a second commit +* c9c9b35 Adds frobbedfile + \end{lstlisting} \end{block} \end{frame} + \section{Branching and unevitable merging} \begin{frame} \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/gitflashtalk/myfirstproject\$ git branch +* master + \end{lstlisting} + \end{block} + \begin{block}{Create new branch} + \begin{lstlisting} +frobnicator@frobmachine~/projects/gitflashtalk/myfirstproject\$ git checkout -b "develop" +Switched to a new branch 'develop' +frobnicator@frobmachine~/projects/gitflashtalk/myfirstproject\$ git branch +* develop + master + \end{lstlisting} + \end{block} + \begin{block}{Delete branch} + \begin{lstlisting} +frobnicator@frobmachine~/projects/gitflashtalk/myfirstproject\$ git branch -d "develop" +Deleted branch develop (was cd094bc). +frobnicator@frobmachine~/projects/gitflashtalk/myfirstproject\$ git branch +* master + \end{lstlisting} + \end{block} \end{frame} \begin{frame} @@ -210,5 +333,4 @@ frobnicator@frobmachine:~/projects/myfirstproject\$ git commit \frametitle{Public key} \end{frame} - \end{document} diff --git a/preamble.tex b/preamble.tex index 02b7731..84ec992 100644 --- a/preamble.tex +++ b/preamble.tex @@ -19,7 +19,7 @@ \subject{GIT} \lstset{% - basicstyle=\footnotesize\ttfamily, + basicstyle=\scriptsize\ttfamily, language=bash, breakatwhitespace=true, breaklines=true, -- 2.20.1