|
|
|
@ -186,6 +186,9 @@ |
|
|
|
|
|
|
|
|
|
These concepts are pretty familiar. A tree can contain other trees or blobs. |
|
|
|
|
|
|
|
|
|
At its core, Git is a content addressed storage tool. All files and folders are addressed by |
|
|
|
|
a (hardened) sha1 hash. |
|
|
|
|
|
|
|
|
|
} |
|
|
|
|
\end{frame} |
|
|
|
|
|
|
|
|
@ -590,8 +593,35 @@ |
|
|
|
|
\end{itemize} |
|
|
|
|
\note{% |
|
|
|
|
We've seen a couple of these (sort of) |
|
|
|
|
} |
|
|
|
|
\end{frame} |
|
|
|
|
|
|
|
|
|
\begin{frame} |
|
|
|
|
\frametitle{References} |
|
|
|
|
\begin{itemize} |
|
|
|
|
\item Branches |
|
|
|
|
\begin{itemize} |
|
|
|
|
\item Parallel development |
|
|
|
|
\end{itemize} |
|
|
|
|
\item Tags |
|
|
|
|
\begin{itemize} |
|
|
|
|
\item Special points in history (Release versions) |
|
|
|
|
\end{itemize} |
|
|
|
|
\item HEAD |
|
|
|
|
\begin{itemize} |
|
|
|
|
\item Current position in history |
|
|
|
|
\end{itemize} |
|
|
|
|
\end{itemize} |
|
|
|
|
\note{% |
|
|
|
|
Branches allow for parallel development, individually or multiple people. We well look at |
|
|
|
|
these in more detail in a minute. |
|
|
|
|
|
|
|
|
|
Master and Head |
|
|
|
|
Tags allow you to mark special commits. Normally this is used for release versions or |
|
|
|
|
similar. |
|
|
|
|
|
|
|
|
|
HEAD refers to the commit or branch you are currently looking at. We will see in a minute |
|
|
|
|
that you can revert a whole project to a previous point in time. This is how git knows |
|
|
|
|
where (when?) you are. |
|
|
|
|
} |
|
|
|
|
\end{frame} |
|
|
|
|
|
|
|
|
@ -1057,7 +1087,37 @@ |
|
|
|
|
Prompt customisation is available out of the box for bash and zsh. |
|
|
|
|
\note{% |
|
|
|
|
If you haven't ever tried zsh, give it a shot. Tab completion is so much more useful than |
|
|
|
|
Bash's. |
|
|
|
|
Bach's. |
|
|
|
|
} |
|
|
|
|
\end{frame} |
|
|
|
|
|
|
|
|
|
\begin{frame} |
|
|
|
|
\frametitle{Useful supporting tools} |
|
|
|
|
\framesubtitle{Editor Plugin} |
|
|
|
|
\begin{itemize} |
|
|
|
|
\item Git Gutters |
|
|
|
|
\item Easy staging of parts of a file |
|
|
|
|
\item Merge Conflict Resolution |
|
|
|
|
\end{itemize} |
|
|
|
|
\note{% |
|
|
|
|
There are obviously hundreds of editors so find one that works well with yours. |
|
|
|
|
|
|
|
|
|
I think Atom and VS Code have built in integration. |
|
|
|
|
|
|
|
|
|
I use vim-fugitive. I've heard good things about magit for emacs. |
|
|
|
|
} |
|
|
|
|
\end{frame} |
|
|
|
|
|
|
|
|
|
\begin{frame} |
|
|
|
|
\frametitle{Useful supporting tools} |
|
|
|
|
\framesubtitle{BFG Repo Cleaner} |
|
|
|
|
You'll need something like this when you realise you have just committed your ssh keys |
|
|
|
|
|
|
|
|
|
\href{https://rtyley.github.io/bfg-repo-cleaner/}{https://rtyley.github.io/bfg-repo-cleaner/} |
|
|
|
|
\note{% |
|
|
|
|
For the time that you accidentally commit your ssh keys. |
|
|
|
|
|
|
|
|
|
I accidentally committed a database for an Woocommerce site. |
|
|
|
|
} |
|
|
|
|
\end{frame} |
|
|
|
|
|
|
|
|
@ -1098,19 +1158,6 @@ |
|
|
|
|
} |
|
|
|
|
\end{frame} |
|
|
|
|
|
|
|
|
|
\begin{frame} |
|
|
|
|
\frametitle{Useful supporting tools} |
|
|
|
|
\framesubtitle{BFG Repo Cleaner} |
|
|
|
|
You'll need something like this when you realise you have just committed your ssh keys |
|
|
|
|
|
|
|
|
|
\href{https://rtyley.github.io/bfg-repo-cleaner/}{https://rtyley.github.io/bfg-repo-cleaner/} |
|
|
|
|
\note{% |
|
|
|
|
For the time that you accidentally commit your ssh keys. |
|
|
|
|
|
|
|
|
|
I accidentally committed a database for an Woocommerce site. |
|
|
|
|
} |
|
|
|
|
\end{frame} |
|
|
|
|
|
|
|
|
|
\begin{frame} |
|
|
|
|
\frametitle{Useful supporting tools} |
|
|
|
|
\framesubtitle{Pass} |
|
|
|
|