TTDV7553: Introduction to GitLab

Become an EPIC Affiliate

To view the class schedule you need to become an Affiliate

  • Largest “Guaranteed To Run” public technical training schedules available
  • Easy to become an Affiliate – no charge or fee
Become an EPIC Affiliate

already an Affiliate?  Login

About this Course

Immerse yourself in the dynamic world of GitLab, a leading web-based platform for version control and collaboration, through our intensive two-day course, GitLab Quick Start. Version control systems, such as GitLab, are the backbone of modern software development, enabling teams to work cohesively and maintain a structured workflow. By mastering GitLab, you can improve efficiency, encourage collaboration, and ensure accuracy and reliability within your projects, adding significant value to your organization.

Throughout the course you’ll explore various aspects of GitLab, starting from the fundamental principles of source code management to advanced concepts like rebasing and continuous integration/design. Key topics covered include Git and GitLab basics, reviewing and editing commit history, mastering GitFlow and GitLab Flow, branching and merging strategies, and understanding remote repositories. You’ll also learn how to utilize Git as a debugging tool and explore the power of GitLab’s built-in CI/CD capabilities.

The core value of this course lies in its practical application. You’ll learn how to effectively manage changes in code with GitLab, allowing you to maintain audit trails, create reproducible software, and seamlessly move from another version control system. Then you’ll learn how to enhance your workflow efficiency using aliases for common commands, saving changes for later use, and ignoring build artifacts. You’ll also explore GitLab’s CI/CD, which will enable you to automate your software delivery process. These hands-on labs will walk you through creating, merging, and synchronizing remote branches, configuring Git, troubleshooting using Git as a debugging tool, and setting up GitLab Runner for CI/CD. Each lab is designed to simulate real-world projects, offering you a first-hand experience in managing and contributing to a version control system like GitLab.

By the end of the course you’ll be equipped to manage complex codebases, refine daily workflows, handle version control tasks, and integrate continuous delivery into your projects. This expertise will empower you to drive productivity and collaboration within your organization, making you an indispensable part of your team’s software development lifecycle.

Audience Profile

The introductory-level course is geared for software developers, project managers, and IT professionals seeking to enhance their understanding and practical skills in version control and collaboration using GitLab. It's also well-suited for those transitioning from another version control system to GitLab, or those responsible for software development lifecycle within their organization. Whether you are an individual looking to boost your proficiency or a team leader aiming to drive productivity and collaboration, this course will provide the necessary expertise to make the most of GitLab's capabilities.

At Course Completion

This course combines engaging instructor-led presentations and useful demonstrations with valuable hands-on labs and engaging group activities. Throughout the course you’ll:

· Gain a firm understanding of the fundamentals of Git and GitLab, setting a solid foundation for advanced concepts.

· Learn to effectively manage and track changes in your code, ensuring a clean and reliable codebase.

· Discover ways to streamline your daily tasks with aliases, stashing, and other GitLab workflow optimization techniques.

· Develop skills in creating, merging, and synchronizing branches, enabling seamless collaboration and version control.

· Equip yourself with the knowledge to use Git as a powerful debugging tool, saving time and effort when troubleshooting issues.

· Understand the basics of continuous integration and continuous deployment (CI/CD) in GitLab, helping you automate the software delivery process.

Outline

1. Introduction to Source Code Management

· The Core Principles of Change Management

· The Power to Undo Changes

· Audit Trails and Investigations

· Reproducible Software

· Changing code-hosting platform

· Moving from another version control system

2. Git and GitLab Introduction and Basics

· Introduction to Git

· GitFlow

· GitLab Flow

· Trees and Commits

· Configuring Git

· Adding, Renaming, and Removing Files

3. Reviewing and Editing the Commit History

· Reviewing the Commit History

· Revision Shortcuts

· Fixing Mistakes

4. Improving Your Daily Workflow

· Simplifying Common Commands with Aliases

· Ignoring Build Artifacts

· Saving Changes for Later Use (Stashing)

5. Branching

· Branching Basics

· Listing Differences Between Branches

· Visualizing Branches

· Deleting Branches

· Tagging

6. Merging

· Merging Basics

· Merge Conflicts

· Merging Remote Branches

7. Remote Repositories

· Remote Repositories

· Synchronizing Objects with Remotes

· Tracking Branches

8. Centralizing and Controlling Access

· Introduction to GitLab

· Git Repositories on GitLab

· Daily Workflow

9. Reviewing Branching and Merging

· Branch Review

· Merging Basics

10. Rebasing

· Rebasing Basics

· Rebasing with Local Branches

· Rebasing with Remote Branches

· Interactive Rebasing

· Squashing Commits

· Getting Out of Trouble

11. Git as a Debugging Tool

· Using the Blame Command to See File History

· Performing a Binary Search

12. Continuous Integration / Continuous Design (CI/CD)

· How to install GitLab Runner

· Adding to our example project

· Breaking down .gitlab-ci.yml

· Adding .gitlab-ci.yml to our example project

· Deconstructing an advanced .gitlab-ci.yml file

· GitLab CI/CD web UI

Optional Day Three Topics

13. Optional: Resetting Trees

· Introduction to Resetting

· Resetting Branch Pointers

· Resetting Branches and the Index

· Resetting the Working Directory

· Making Good Use of the Reset Command

14. Optional More on Improving Your Daily Workflow

· Interactively Staging Changes

15. Optional: Including External Repositories

· Submodules

· Subtrees

· Choosing Between Submodules and Subtrees

16. Workflow Management

· Branch Management

Prerequisites

To ensure a smooth learning experience and maximize the benefits of attending this course, you should have the following prerequisite skills:

· Basic Computing Skills: Familiarity with navigating a computer environment, including file and directory management, is a fundamental requirement.

· Understanding of Software Development: A rudimentary understanding of how software is developed and the concept of version control systems can help you grasp the course content more effectively.

· Command-Line Comfort: Some comfort with using command-line interfaces can be helpful, as many operations in GitLab can be executed via commands.

· General Coding Knowledge: A basic grasp of any programming language will allow you to better understand and implement the concepts of version control and collaboration.