From the course: Git for Teams
GitLab overview
- [Instructor] GitLab provides many features that support development teams using Git as their source code repository. This lesson will provide a high-level overview of GitLab and shows you where to find major features within the tool. Projects are a core concept within GitLab. Once you establish a project, GitLab provides a wide set of features such as a code repository, issue trackers, wikis, and CI/CD tooling to support the project. Let's go ahead and build a new project by clicking on the create a project option. The first thing that we'll need to do is provide a name for our project. I'm simply going to call this project flow. We can then provide a description of a project. We'll just say this is a sample project used for the course. From there, we can specify a visibility level for the project. This will determine how exposed your project is to other users. In our case, we're going to stick with a private project that will only be available to users we grant access, explicitly, to the project. When we build out a project, we can also choose to initialize a README file within the repository. I'm going to go ahead and check that option and then hit create project. Here we see our project's home. With the project set up, we can explore some of those major features that we'll be using within GitLab. You'll notice the left-hand side bar contains a repository. This is where our code will be stored for the project. The interface allows you to look through the different branches found within the repository from the main screen, or you can find the branches on the side bar. Additionally, you can look at the code from various different aspects. You can see the latest commits that were provided to your project. You can also take a look at the contributors and their work being performed on the project. Another nice feature is the graph which will show you the commit graph for your project and its repository. When it comes to workload tracking, GitLab provides some excellent features. They're all found within the issues section. Within this section, we can create new issues which represent work that needs to be done on our project. You'll also find a board which represents a simple kanban board that you can use to track the progress of the issues as your team works them. GitLab also provides some features for labeling and grouping the issues that we work with. Labels can be applied to each issue, and that allows them to progress through the different statuses that are displayed on your board. It's a little bit confusing, but we'll focus on that later in the course. Issues can also be grouped into a milestone. So, a milestone may contain several issues which represent the work required to be completed to introduce a new large feature into your project. Another important area within GitLab is the merge requests section. This section acts a lot like GitHub's pull requests. Merge requests allow a contributor without commit permissions on a repository to request that a maintainer merge in their submitted code. GitLab's merge requests feature provides that ability to review and discuss the changes being proposed before they are integrated into major branches for the project. These are some of the major areas that we'll be focusing on within GitLab during the course. In addition to the central repository, issue tracking, and merge request features, GitLab provides support for CI/CD integration, a docker container registry, a wiki, and an area to store code snippets. We'll get to know many of these features a lot better when we walk through a workflow.
Practice while you learn with exercise files
Download the files the instructor uses to teach the course. Follow along and learn by watching, listening and practicing.
Contents
-
-
-
-
Teaming with remote platforms overview1m 39s
-
Remote platform selection4m 19s
-
GitLab installation4m 16s
-
GitLab overview4m 36s
-
User account setup4m 44s
-
Account administration and preferences3m 17s
-
Keeping secrets3m 30s
-
Git workflows1m 11s
-
Trunk-based development3m 13s
-
Git flow3m 35s
-
Protecting branches4m 42s
-
Issues6m 59s
-
Feature branches6m 4s
-
Code reviews4m 4s
-
Merging feature branches4m 18s
-
Git Flow wrap-up1m 51s
-
-
-
-