
Explore how git functions as a distributed version control system and why it's the backbone for tracking changes, rolling back edits, and collaborating across projects.
Explore local, centralized, and distributed version control, highlighting distributed Git advantages for collaboration and offline work, with practical setup using Git and GitHub.
Install git on windows using the 64-bit installer and default components. Use git bash for command-line work and prepare for linux installation in the next video.
Install git on a linux machine in AWS EC2, choosing Amazon Linux or Ubuntu. Update the operating system, install git with yum or apt, and verify the git version.
Set global git user name and email in git bash across Windows or Linux, verify with git config --list, and prepare for advanced git commands in a collaborative workflow.
Convert a normal directory into a local git repository with git init, creating the hidden .git directory and establishing the working directory and staging area.
Learn how to create and use a Git remote repository with GitHub as a centralized backup and collaboration hub, and sync it with a local repository.
Explore how Git manages versions through a working directory, staging area, and local repository, using commands like git add, git commit, git diff, and git restore.
Learn to connect a local git repo with a remote, add a remote named origin, and push commits using git push -u origin master, with Windows credential tips.
Configure git on a Linux machine, initialize a local repo, connect to a remote, add and commit a file, and push using a personal access token.
Learn how to clone a GitHub repository and use fork workflows, with step-by-step guidance on git clone, pushing to a remote, and managing public repos across different systems.
Push uploads code to a remote repository and pull downloads it to your local system, enabling collaboration across Windows and Linux through cloning, committing, pushing, and pulling.
Learn how git branches enable collaborative development by creating independent lines of development that isolate work and merge into main (master), with practical usage of git init and git status.
Initialize a git repository, commit on the master (main) branch, then create, switch, and delete branches such as team one and team two using git branch, checkout, and switch.
Learn how to create and manage git branches, switch between master and team branches, commit changes, view logs, and merge team branches back into master.
Initialize a local git repo, add and commit changes, push the master branch to a GitHub remote, then create, switch to, and push a new branch.
Create a git repo, branch, and commits on master and a feature branch, then perform a fast forward merge into master, noting it occurs when master has no new commits.
Understand non fast forward merge as a normal merge in Git and how it differs from fast forward merges. See how branching and commits create a merge commit on master.
Explore how squash merge compresses multiple commits from branch B1 into a single merge commit on master, and compare it with a normal merge and fast-forward.
Explore git rebase, applying changes from one branch onto another in a linear sequence by rewriting history. Compare rebase with merge and see how it yields a clean, single-line history.
Resolve git merge conflicts by manually editing a conflicted file after merging branches master, b1, and b2, then stage and commit changes with git add and git commit.
Learn how to use git checkout to switch branches and move between commits, understand the detached head state, and explore how git switch can preserve work by creating branches.
Use git revert to undo a recent commit by creating a new revert commit, preserving history and being safer than reset without deleting prior commits.
Explore git reset options—hard, soft, and hybrid—demonstrating that hard resets delete commit history and file changes, soft resets remove commits while preserving changes, and hybrid blends the effects.
Learn how to tag git commits with descriptive names, view and checkout tags, and push tags to a remote repository for versioning in GitLab CI/CD workflows.
Discover how GitLab acts as an all-in-one devops platform, hosting code, enabling CI/CD, project management, merge requests, code review, and security and compliance across the software development life cycle.
GitLab provides a full DevOps package with built-in CI/CD, code hosting, and self-hosting options, while GitHub offers a user-friendly interface, a large community, and marketplace security features.
Create a free GitLab account, verify your email, and set your DevOps role before creating your first project and group, preparing for CI/CD.
Push from a local git repo to a GitLab project using https authentication on Windows and Linux. Explain the difference between username/password and personal access tokens, with two-factor authentication considerations.
Explore using a personal access token for https authentication to GitLab, with token scope, expiry, and revocation, and learn to generate and use PATs on Windows and Linux.
Master ssh authentication for GitLab by using a public-private key pair. Generate keys, add the public key to GitLab, and clone or push via ssh across Windows and Linux.
Explore the differences between private and public repositories in GitLab, focusing on accessibility, visibility, and collaboration. Learn the use cases for open source, proprietary code, and team-based access control.
Explore GitLab roles and permissions from guest to administrator, and how owners, maintainers, and developers collaborate by managing issues, labels, milestones, and code access.
Explore GitLab project management by navigating the manage tab to track activity, manage members, and apply labels, while learning how push events and access control shape repository operations.
Explore how the GitLab plan tab coordinates project planning and collaboration through issues, boards, milestones, and wiki to track progress and document work.
Learn how to create and manage branches in GitLab, including protected vs unprotected branches, parallel development, and merge requests.
Understand how GitLab branches, including protected and unprotected, drive collaboration via merge requests and code reviews. See how continuous integration runs tests on merge requests to validate changes before merging.
Explore the six stages of software development—coding, integration, testing, deployment, monitoring, and maintenance—and see how GitLab CI/CD pipelines automate this continuous process.
Explore how GitLab unifies ci cd for six stages: coding, integration, testing, deploying, monitoring, and maintaining, empowering automated software delivery.
Explore GitLab deployment options, contrasting GitLab.com and self-hosted on premises or cloud, with emphasis on SaaS versus on premises control, compliance, data security, maintenance, and cost considerations for CI/CD workflows.
Learn how to set up a GitLab CI/CD pipeline using the dot gitlab ci yaml file and GitLab runner, define stages (build, test, deploy), and configure jobs with scripts.
Learn to set up a self-managed GitLab runner on Amazon Linux 2023, provisioning a VM, installing and registering the runner, configuring a .gitlab-ci.yml pipeline, and keeping the runner online.
Extend the level zero project with continuous deployment to automatically deploy to a staging environment after tests pass, covering staging concepts and blue-green and canary strategies in GitLab CI/CD.
Implement a basic ci cd pipeline by adding a testing stage to the level one project and preparing a gitlab ci yaml for the test phase and deployment stage.
Recently Updated:10 Dec 2025
We’ve added a new quiz in our Section 4 to help you review key concepts and strengthen your basics.
Recently Updated:Nov 2025
We’ve added a new quiz in our Section 1 & Section 2 to help you review key concepts and strengthen your basics.
The course 'Git & GitLab For DevOps' is designed to provide a comprehensive understanding of Git and GitLab, two essential tools in the domain of DevOps. This course aims to equip learners with the knowledge and skills needed to effectively utilize Git and GitLab in their DevOps workflows. From basic concepts to advanced features, students will explore various aspects of both tools, including version control, branching strategies, merging, collaboration, CI/CD integration, and more.
Mastering Git and GitLab
Introduction
Overview of the course structure
Importance of hands-on learning in version control
Effective Version Control Practices
Concepts of version control
Fundamental Git commands (init, clone, add, commit, status, log)
Repository management (creating, cloning, managing repositories)
Branching and Merging Strategies
Creating and managing branches (branch, checkout)
Merging branches and resolving conflicts (merge)
Using rebase for a clean project history
Collaborating with Git and GitLab
Working with remote repositories (fetch, pull, push)
Collaborating on projects with GitLab (merge requests, issues, milestones)
Setting up and managing access permissions
Continuous Integration and Deployment with GitLab
Principles of Continuous Integration (CI) and Continuous Deployment (CD)
Setting up and configuring GitLab CI/CD pipelines
Advanced CI/CD techniques (environment variables, job dependencies, conditional workflows)
Advanced Git and GitLab Features
Managing project dependencies with Git submodules
Automating tasks with Git hooks
Advanced Git commands (cherry-pick, revert, bisect, stash)
Practical Exercises and Real-World Examples
Managing repositories
Resolving merge conflicts
Implementing best practices in version control
Setting Up and Configuring GitLab for CI/CD
Automating workflows
Increasing efficiency
Course Conclusion
Streamlining development processes
Improving team collaboration
The course includes five projects to enhance learning.
The course is structured to provide a hands-on learning experience, ensuring that students can apply what they learn in real-world scenarios. Through practical exercises and real-world examples, learners will develop a deep understanding of how to manage repositories, resolve merge conflicts, and implement best practices in version control. Additionally, the course covers how to set up and configure GitLab for continuous integration and deployment, enabling students to automate their workflows and increase efficiency. By the end of this course, participants will be proficient in using Git and GitLab to streamline their development processes and improve collaboration within their teams. This course is ideal for developers, DevOps engineers, and anyone looking to enhance their skills in modern software development practices.
About Trainer
Bhavesh Atara is a renowned expert in cloud computing and DevOps, with extensive experience in the industry. Bhavesh has a passion for teaching and has dedicated his career to helping individuals and organizations master the complexities of modern cloud environments.
Best of luck with your Git/GitLab course on Udemy!