Summary and Schedule
GitLab is a web application for managing Git repositories. Since it is build around Git, it is suitable to manage any project that works primarily with plain text files, for example software source code, TeX based documents, or meeting notes in Markdown. With its built-in issue and wiki systems, it can, in certain cases, even be the right tool for managing a project without any files.
This lesson will give you a foundational understanding of GitLab’s features, so you can make informed decisions on how to use it as a tool.
Since GitLab interprets many of its text fields’ values as Markdown, more specifically GitLab flavored Markdown, this lesson contains a rudimentary introduction to Markdown syntax, following the CommonMark specification on which the GitLab flavor is based.
Depending on previous knowledge of learners, the material can either be taught using solely the GitLab web interface or it can involve parts that teach the interaction with a local Git repository, using the Git command-line interface.
Required Previous Knowledge
The material can be taught solely in the GitLab web interface. In that case no previous knowledge is required.
Optionally, the interaction of local Git repositories with GitLab can be taught. In that case a basic familiarity with the Git command-line interface is required.
To understand the material on GitLab’s continuous integration (CI) feature, basic knowledge of Bash and how Docker works is required.
Not all GitLab instances have the same features and behavior. Depending on version and configuration they may vary in many details. If you plan to run this course on an instance other than gitlab.com, we recommend you go through the lesson once before teaching. Even when teaching on gitlab.com this might be a good idea, because the platform is changing constantly.
Note, that the episode on CI does not work as described on gitlab.com because using the free shared CI runners requires the user to provide credit card information.
Setup Instructions | Download files required for the lesson | |
Duration: 00h 00m | 1. Navigation |
What is GitLab? How can I find my way around GitLab? |
Duration: 00h 25m | 2. GitLab Projects | How can I create, modify and archive a GitLab project? |
Duration: 01h 01m | 3. Adding Files to a Project Repository | How can I add files to my GitLab project? |
Duration: 01h 01m | 4. Collaboration | How can multiple people collaborate on a project? |
Duration: 01h 21m | 5. Groups | How can I organize the projects of my (research) group and my collaborations? |
Duration: 01h 51m | 6. Issues | How can I use GitLab to manage development or a whole project? |
Duration: 02h 11m | 7. Merge Requests | How can I contribute to a project on GitLab? |
Duration: 02h 41m | 8. Process Automation |
How can I use GitLab to automate processes? How can I host a static website directly from GitLab? |
Duration: 02h 41m | Finish |
The actual schedule may vary slightly depending on the topics and exercises chosen by the instructor.
Setup
To follow the lesson, you need access to GitLab.
If the taught version of this course introduces the interaction between local repositories and GitLab, you also need to have a text editor and Git installed.
The following sections provide information on how to install the required software, if necessary, and how you get access to GitLab.
Software Setup
See https://carpentries.github.io/workshop-template/#editor for how to install or find a text editor on your machine.
See https://carpentries.github.io/workshop-template/#git for how to install or find Git on your machine.
GitLab
You can create a free GitLab account. If you already have an account, please make sure that you know your account credentials and can sign in.
Note that for a specific course, you might work on another GitLab instance. In that case you should follow the instructions given by the organizers.