Commit 6b564163 authored by Mihai's avatar Mihai

Minor changes

parent 05963fd7
\documentclass{article}
\providecommand{\handoutsTitle}{GitLab and Markdown}
\providecommand{\handoutsTitle}{\vspace{0.5cm}GitLab and Markdown}
\usepackage{handouts}
\input{../shared/shared}
......@@ -9,31 +9,43 @@
\makeHeader
\subsubsection*{Collaboration}
In this practical, you'll work both with your repository and with the repository your neighbour created
In this practical, you'll work with both your repository and with the repository your neighbour created
during the previous practical. We'll refer to this repository as {\bf N}, and
to your own repository from the previous practical as {\bf Y}.
to your own repository from the previous practical as {\bf Y}. Note that by now both repositories should have a
corresponding GitLab project (a remote repository).
\bigskip
Make sure that your repository \textbf{Y} is private and add your colleague as a member to it as \textbf{Guest}.
Make sure that your GitLab project \textbf{Y} is private and add your colleague as a member to it as \textbf{Guest}.
\bigskip
Try to clone his or her repository to your local machine. Make sure to do this in a
separate directory.
\bigskip
Try to \textbf{clone} his or her repository to your local machine. Make sure to do this in a separate directory.
Change the role of your neighbour from \textbf{Guest} to \textbf{Developer} and try to clone it again.
\bigskip
\begin{itemize}
\item \emph{Question:} Was the cloning successful? Try to identify why.
\end{itemize}
Edit locally a file from your neighbour \textbf{N} directory and try to push.
Change the role of your neighbour from \textbf{Guest} to \textbf{Developer} and try to \textbf{clone} his repository again once your neighbour made you a \textbf{Developer}.
\bigskip
Make an issue that you are not able to push and ask to become a \textbf{Master} in the project.
Edit locally a file from your neighbour \textbf{N} directory, stage it, commit it, and try to \textbf{push}.
\begin{itemize}
\item \emph{Question:} Were you able to push? Try to identify why.
\end{itemize}
Make an \textbf{issue} that you are not able to \textbf{push} and ask your role to be changed to \textbf{Master} in the project.
Assign the issue to your neighbour.
\bigskip
Change the role of your neighbour from \textbf{Developer} to \textbf{Master} and try to push again.
Navigate and check the issue that was assigned to you by your neighbour.
\bigskip
Change your neighbour's role in your GitLab project from \textbf{Developer} to \textbf{Master}.
\bigskip
After your neighbour upgraded your role to \textbf{Master} try to push again your changes to his GitLab repository.
\medskip
Comment and close the issue that was assigned to you.
\bigskip
......
This diff is collapsed.
......@@ -2,9 +2,13 @@
\usepackage{tikz}
\definecolor{break}{rgb}{0,0.5,0}
\definecolor{lecture}{rgb}{0.11,0.27,0.7}
\definecolor{practical}{rgb}{0.94,0.23,0.18}
\input{../shared/shared.tex}
\author{}
\author{Mihai Lefter}
\title{\courseTitle}
\providecommand{\mySubTitle}{Introduction to Version Control}
\providecommand{\myConference}{\courseTitle}
......@@ -23,7 +27,44 @@
\makeTitleSlide{\includegraphics[width=3.5cm]{images/git_logo.pdf}}
% First page of the presentation.
\section{Introduction}
\section{Course Outline}
\begin{pframe}
\vspace{-0.8cm}
\begin{itemize}
\item \textcolor{lecture}{Introduction}
\item \textcolor{lecture}{Git basics}
\item \textcolor{practical}{Practical 1}
\item \textcolor{break}{Lunch break}
\item \textcolor{lecture}{Colaboration: remote repositories}
\item \textcolor{practical}{Practical 2}
\item \textcolor{break}{Break}
\item \textcolor{lecture}{Colaboration: combining changes by merging}
\item \textcolor{practical}{Practical 3}
\item \textcolor{break}{break}
\item \textcolor{lecture}{GitLab and Markdown}
\item \textcolor{practical}{Practical 4}
\end{itemize}
\end{pframe}
\section{Introduction Outline}
\begin{pframe}
\begin{itemize}
\item What is version control?
\begin{itemize}
\item Definition
\item General features
\item Step by step example
\item Distributed repositories
\item Why to use/not use version control?
\end{itemize}
\item Git
\item Web-based remotes
\begin{itemize}
\item GitLab vs GitHub
\end{itemize}
\end{itemize}
\end{pframe}
\section{What is version control?}
\subsection{Definition}
......@@ -49,9 +90,13 @@
\item Hide old versions.
\item Easily access old versions.
\item Check the differences between current and older versions.
\item Record who made changes and when.
\end{itemize}
\end{itemize}
\begin{itemize}
\item Enables collaboration.
\begin{itemize}
\item Record who made changes and when.
\end{itemize}
\end{itemize}
\end{pframe}
......@@ -223,11 +268,13 @@
\emph{Git (n): A person who is deemed to be despicable or contemptible.} ---
WordNet.
\bigskip
\pause
\emph{I'm an egotistical bastard, and I name all my projects after myself.
First ``Linux'', now ``git''.} --- Linus Torvalds.
\bigskip
\begin{center}
\includegraphics[width=0.6\textwidth]{images/penguin.pdf}
\end{center}
\end{pframe}
\subsection{History}
......@@ -236,11 +283,12 @@
\begin{itemize}
\item Speed.
\item Simple design.
\item Strong support for non-linear development (thousands of parallel
branches).
\item Strong support for non-linear development
\begin{itemize}
\item Thousands of parallel branches.
\end{itemize}
\item Fully distributed.
\item Able to handle large projects like the Linux kernel efficiently
(speed and data size).
\item Able to handle large projects like the Linux kernel efficiently.
\end{itemize}
% The copyright holder of BitKeeper, Larry McVoy, had withdrawn gratis use of
% the product after claiming that Andrew Tridgell had reverse-engineered the
......@@ -250,6 +298,32 @@
% of code contributed by almost 14,000 programmers.
\end{pframe}
\subsection{Installation}
\begin{pframe}
\begin{itemize}
\item Linux
\begin{itemize}
\item \lstinline{sudo apt-get install git} (Ubuntu)
\item \lstinline{sudo yum install git} (Fedora)
\end{itemize}
\item Windows
\begin{itemize}
\item git-scm.com/download/win
\end{itemize}
\item Windows
\begin{itemize}
\item git-scm.com/mac
\end{itemize}
\end{itemize}
once installed check Git version:
\begin{itemize}
\item \lstinline{git --version}
\end{itemize}
\end{pframe}
\section{Remotes}
\subsection{Web-based}
\begin{pframe}
......
......@@ -423,7 +423,6 @@
\lstinline{=============================}\\
\textcolor{white}{\lstinline{S}}\\
\lstinline{My favorite characters are Eric Cartman}\\
\lstinline{My favorite character is Eric Cartman.}\\
\lstinline{and Milhouse.}
}
\end{framed}
......
\documentclass{article}
\providecommand{\handoutsTitle}{Combining changes by merging}
\providecommand{\handoutsTitle}{\vspace{0.5cm}Combining changes by merging}
\usepackage{handouts}
\input{../shared/shared}
......@@ -12,14 +12,14 @@
Edit again a file from the GitLab interface and run a \lstinline{git fetch} command on your local machine.
\bigskip
Inspect the commit graph with \lstinline{git log}.
Inspect the \textbf{commit graph} with \lstinline{git log}. Make sure you utilize the options described during the lecture.
\bigskip
Perform a fast-forward merge of the origin master branch into your local master branch.
Perform a \textbf{fast-forward merge} of the \textbf{origin master} branch into your \textbf{local master} branch.
\bigskip
\subsubsection*{A three-way merge with no conflicts}
The previous section produced a fast-forward merge.
The previous section produced a fast-forward merge. In the following you will perform a \textbf{three-way merge}.
\begin{itemize}
\item \emph{Question:} Can you think of a way to get a three-way merge without conflicts?
......@@ -35,11 +35,11 @@ Run \lstinline{git fetch} on your local repository.
like now? Can you draw it on paper?
\end{itemize}
Perform a three-way merge and push to the GitLab remote repository.
Perform a \textbf{three-way merge} and \textbf{push} to the GitLab remote repository.
\bigskip
\subsubsection*{Resolving a merge conflict}
Now do the same thing again (a three-way merge), but in such a way the merge
Now do the same thing again (a three-way merge), but in such a way that the merge
step will result in a merge conflict. Resolve the conflict in a way you feel
is appropriate.
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment