Module Title: dgt_devops06 – GIT and GitLab
Description:
“dgt_devops06 – GIT and GitLab” is a module for developers and DevOps practitioners who want to learn the fundamentals of version control with Git and integrate their projects with GitLab. The module first covers the theory and then puts it into practice in natural language: you tell the machine what should happen to the repository (“create a feature branch from main, commit only the config changes, rebase on the latest main and open a merge request”), and you check the Git commands it runs, the resulting history and the merge request it opens, correcting it whenever the outcome is not what you meant.
What You’ll Learn:
- Introduction to Version Control Systems (VCS):
- Understand the importance of VCS in modern software development.
-
Explore different types of VCS, with an emphasis on distributed version control systems like Git.
-
Git in Depth:
- Learn the origins and philosophy of Git, created by Linus Torvalds to manage contributions to the Linux kernel, and how it changed the way developers collaborate on projects.
-
Learn about key concepts such as repositories, commits, branches, merges and tags.
-
Essential Git Commands:
- Understand the essential Git commands and workflows well enough to read every command the machine proposes and predict its effect on your project’s history.
-
Practice branching strategies for collaborative development and parallel feature work by describing them to the machine and inspecting the resulting branch graph.
-
Collaboration with Git:
- Understand how Git supports team collaboration through pull requests, code reviews and conflict resolution techniques.
-
Explore best practices for handling merge conflicts and keeping a clean commit history, including how to judge the conflict resolutions the machine suggests.
-
Introduction to GitLab:
- Explore GitLab as an integrated platform that hosts Git repositories and adds features such as CI/CD pipelines, issue tracking and more.
-
Learn how GitLab projects are set up and configured, and instruct the machine to set them up so that teams can collaborate effectively.
-
GitLab Workflows:
- Explore advanced GitLab workflows, including Continuous Integration (CI) and Continuous Deployment (CD), to streamline development processes.
-
Understand how GitLab’s built-in tools can improve code quality and automate testing.
-
Natural-Language Labs:
-
Apply your knowledge of Git and GitLab in labs based on real-world scenarios that simulate common challenges faced by DevOps teams: you give the instructions in plain language, the machine operates on the repositories, and you verify every commit, merge and pipeline it produces.
-
Security and Best Practices:
- Learn how to secure Git repositories and applying best practices for code management and collaboration.
Who Should Attend:
This module is intended for software developers, DevOps engineers, project managers and anyone who wants to understand version control systems, whether new to Git and GitLab or already familiar with them. It covers managing code versions and collaborating on complex projects.
By the end of “dgt_devops06 – GIT and GitLab,” participants will understand how to use Git’s features together with GitLab’s tools, and will be able to direct the machine to improve their development workflows while keeping full control over the result.
The students can push their exercises to the Academy DevOps & SRE Git project. For this module, create a folder with your username as its name in the following subfolder: https://github.com/Garanti-Del-Talento/gdt_academy
