Git

Git is a distributed version control system (DVCS) for tracking changes in computer files and especially useful to coordinate simultaneous work on those files among several people. It has several key advantages over the process of simply sharing files via USB drives or cloud services like Dropbox, iCloud, OneDrive and so on. All files tracked by Git reside in a single folder and its subdirectories, the so called repository. During the RoboLab courses we will use our Gitlab as a host for all the repositories.

Every member of your group has to sign up for Gitlab and hand over the username of their account to the tutors as soon as possible.

Usage

The usage of Git is mandatory and an essential part of the RoboLab. You are required to commit your code regularly.

General Rules

Firstly, git helps us to keep track of your progress and verify you did not plagiarize parts of the solution. Secondly, it also helps you and your teammate keeping track of evolving code and each others work. Finally, in case something may get broken, e.g. your code does not work any longer or your machine crashed, regular commits can save your day. But keep in mind, that version control does not replace a backup!

By the way: a single monolithic commit just right before the exam will be reflected in a worse grade. In addition to that, all group members should contribute to the project equally as it represents a team effort. Obviously quantity isn’t as important as quality of the submitted code.

Your repository

As already mentioned in the introduction, every group is going to get its own repository hosted at our Gitlab. It can be reached by using your three-digit group id including leading zeros and the project id.

https://se-gitlab.inf.tu-dresden.de/robolab-<season>/<term>/group-<id>

The project id consists of the <season>, which is either spring or autumn depending on which RoboLab course you are participating in, i.e. Spring Course (INF) or Autumn Course (NES) and the <term>. This is the year your course has started in the format WSyyyy or SSyyyy. For instance, if the introduction took place on March 06th, 2019 the variable <term> will be WS2019.

<id> has been assigned to you at the beginning of the course. Please make sure to include leading zeros and fill up the id to three digits, e.g. group 42 will enter 042.

The repositories will be restricted to read-only access right before the exam. Therefore, make sure to perform the final commit and push on time. The final version of your code is expected to be the latest commit on the master-branch.

Slides

A guide on how to integrate Git into your environment and hook it up with your repository will be given subsequently to the Git introduction. Please refer to the Git slides from the introduction presentation.

Plagiarism

You are encouraged to work together and exchange ideas between groups.
However, you should not exchange source code or other own work relevant for the exam, e.g. solutions for assignments.

Problems & Help

No matter whether you already worked with Git for years or are a complete beginner, you will eventually encounter some difficulties. Before contacting your tutors, try to research a little on your issue. You’ll probably find a sufficient answer to your specific question on the Internet.