diff --git a/remotes/remotes_handouts.tex b/remotes/remotes_handouts.tex index d44ed9f321713beb4fc004d2fbc90d7348b239aa..a0580824019eb7d01903761cbcb2be49d2814ddf 100644 --- a/remotes/remotes_handouts.tex +++ b/remotes/remotes_handouts.tex @@ -13,64 +13,78 @@ Git and remote repositories practical. \end{center} \bigskip -\subsubsection*{Inspect the commit graph.} -We'll work from the repository you created in the previous practical. +\subsubsection*{Add your repository to GitLab.} +Now you have a nice repository, of course you want to share it on GitLab. + +\bigskip + +Go to GitLab and create a new project. \begin{itemize} - \item \emph{Question:} What is you current branch and what is the hash of - the commit it points to? - \item \emph{Question:} What does the commit graph of you repository look - like? + \item \emph{Question:} What is the repository URL for your new project? \end{itemize} -\emph{Hint:} Use \texttt{git log} with the appropriate arguments. \bigskip -\subsubsection*{Implement a feature in a new branch.} -Let's do some real work (e.g., add some documentation to the project). +Add a remote for your GitLab repository. \bigskip -Start by creating a branch for your work (give it a descriptive name) and -switch to it. +Push your branch(es) to GitLab. \begin{itemize} - \item \emph{Question:} What branches are there now and what are the commits - they point to? + \item \emph{Question:} Can you see your repository content in the GitLab web + interface? \end{itemize} + +\subsubsection*{Clone an existing repository from GitLab.} +There already are some nice repositories on GitLab! Pick one (e.g., from the +person sitting next to you, or browse the public repositories using the globe +icon in the top right). + \bigskip -Implement your feature (e.g. write documentation) and commit your changes. +Create a local clone of the repository you picked. \begin{itemize} - \item \emph{Question:} What does the commit graph of you repository look - like now? + \item \emph{Question:} In the resulting repository, what remotes and + branches exist? \end{itemize} + +\subsubsection*{For experts: create a merge request.} +If you are interested, here are some additional GitLab features you can +use. Fork an existing project, implement a feature, and submit a merge +request. + \bigskip -\subsubsection*{Merge your feature.} -Of course we want this nice feature in our \texttt{master} branch. +Find an interesting project and click the \emph{Fork} button. This makes a +copy of the project under your own user, on GitLab. \bigskip -\begin{itemize} - \item \emph{Question:} If you want to merge branch \texttt{B} into branch - \texttt{A}, what should be your current branch? -\end{itemize} +Clone the project (your fork) to your local machine. \bigskip -Merge your feature branch into \texttt{master}. +Create a new branch and implement some feature in it. Make sure to commit +this. -\begin{itemize} - \item \emph{Question:} What does the commit graph of you repository look - like now? -\end{itemize} +\bigskip + +Push your new branch to GitLab (your fork of the project). + +\bigskip + +If you now go to your GitLab dashboard (homepage), you'll see a green button +to create a merge request. From the merge request, the owner of the original +project can directly merge your changes using only the web interface. \bigskip -Since you merged it, you can now delete the feature branch. +\emph{Hint:} You can also start a discussion or do some code review inside the +merge request. \end{document}