Software Development Version Control

Version Control with Git

A practical, step-by-step course on tracking changes, collaborating safely, and working confidently with Git

Version Control with Git logo
Quick Course Facts
17
Self-paced, Online, Lessons
17
Videos and/or Narrated Presentations
5.5
Approximate Hours of Course Media
About the Version Control with Git Course

Version Control with Git is a practical course for anyone who wants to work more effectively in Software Development. Through clear instruction and hands-on concepts, you will learn how to track changes, collaborate safely, and manage code with confidence using Git.

Build Strong Git Skills For Everyday Software Development

  • A practical, step-by-step course on tracking changes, collaborating safely, and working confidently with Git
  • Learn the core workflows behind Version Control with Git, from repositories and commits to branches and merges
  • Gain the skills to review history, handle conflicts, and recover from mistakes without disrupting your project
  • Understand how to work with remotes, pull requests, releases, and team-based Git workflows

A practical, step-by-step course on tracking changes, collaborating safely, and working confidently with Git.

This course begins with the foundations of version control and explains why Git is such an essential tool in Software Development. You will set up your environment, create repositories, and learn the commit workflow so you can record progress in a clean, organised way. From there, the course shows you how to read change history with status, log, and diff, helping you understand exactly what has happened in your project.

You will also learn repository hygiene by ignoring unnecessary files and reducing project noise, which keeps your work easier to manage. As the lessons progress, you will practise undoing mistakes safely, working with branches, merging changes, and resolving simple conflicts. These skills are reinforced with clear guidance on rebasing, using tags and releases, and connecting to hosted repositories for real-world collaboration.

The course then moves into synchronising work with push, pull, and fetch, followed by team collaboration through pull requests and practical Git workflows. You will see how to handle merge conflicts in practice and how to apply best practices for day-to-day development. By the end of Version Control with Git, you will be able to manage code changes more confidently, collaborate more effectively with others, and approach Software Development with a stronger, more professional workflow.

Course Lessons

Full lesson breakdown

Lessons are organized by topic area and each includes descriptive copy for search visibility and student clarity.

Foundations of Git

1 lesson

This lesson explains why version control matters before we begin using Git. You will see how version control protects work, reduces mistakes, and makes collaboration safer and more predictable. We wil…

Getting Started

1 lesson

Lesson 2: Installing Git and Setting Up Your Environment

16 min
In this lesson, you will install Git and prepare a working environment that supports reliable version control on your computer. You will learn how to confirm that Git is installed correctly, configure…

Repository Basics

1 lesson

Lesson 3: Creating and Inspecting a Repository

18 min
This lesson shows how to create a Git repository from scratch and how to inspect its initial state. You will learn the difference between a normal folder and a repository, how to initialize one with g…

The Commit Workflow

1 lesson

Lesson 4: Staging and Committing Changes

20 min
In this lesson, you’ll learn the core Git workflow for saving work safely: reviewing your changes, staging the right files or lines, and creating clear commits that capture a meaningful checkpoint. Yo…

Understanding Changes

1 lesson

Lesson 5: Reading History with Status, Log, and Diff

20 min
In this lesson, you’ll learn how to inspect what Git is doing with your files and repository history. We’ll use git status to see the current state of your working tree, git diff to inspect what chang…

Repository Hygiene

1 lesson

Lesson 6: Ignoring Files and Managing Project Noise

17 min
In this lesson, you’ll learn how to keep a Git repository clean by ignoring files that should not be tracked, such as build outputs, local settings, and temporary files. You’ll see how .gitignore work…

Recovering from Errors

1 lesson

Lesson 7: Undoing Mistakes Safely

22 min
This lesson shows how to undo Git mistakes safely without losing work or breaking a shared history. You will learn the difference between changing the latest commit, restoring files from history, and …

Branching Fundamentals

1 lesson

Lesson 8: Working with Branches

20 min
Branches let you work on new ideas without disturbing the main line of development. In Git, a branch is a lightweight pointer to a commit, which makes it fast to create, switch, and merge. This lesson…

Integrating Work

1 lesson

Lesson 9: Merging Branches and Handling Simple Conflicts

21 min
In this lesson, Professor Peter Lambert shows how Git branches come back together through merging, and how to handle the most common kind of conflict when two lines of work touch the same part of a fi…

History Management

1 lesson

Lesson 10: Rebasing and When to Use It

20 min
Rebasing is a Git technique for rewriting commit history so your work appears to build on top of a newer base commit. In this lesson, you’ll learn what rebase does, how it differs from merge, and when…

Connecting to Hosted Repositories

1 lesson

Lesson 11: Working with Remotes

18 min
This lesson shows how Git connects your local repository to a hosted remote repository such as GitHub, GitLab, or Bitbucket. You will learn what a remote is, how to inspect remote settings, how to add…

Synchronising Work

1 lesson

Lesson 12: Pushing, Pulling, and Fetching Changes

19 min
This lesson explains how Git moves work between your local repository and a remote repository using fetch , pull , and push . You will learn what each command does, when to use it, and how to avoid ov…

Team Workflows

1 lesson

Lesson 13: Collaborating with Pull Requests

22 min
Pull requests are the standard way to propose changes, review code, and merge work safely in a team. In this lesson, you will learn the practical workflow for opening a pull request, writing a useful …

Conflict Resolution

1 lesson

Lesson 14: Resolving Merge Conflicts in Practice

23 min
In this lesson, you’ll learn how to recognize, understand, and resolve merge conflicts in Git without guesswork. We’ll focus on what a conflict means, why it happens, how Git marks conflicting section…

Marking Important Points

1 lesson

Lesson 15: Tags, Releases, and Working with Milestones

17 min
This lesson shows how to use Git tags to mark important points in a repository, especially release versions such as v1.0 or v2.3.1 . You will learn the difference between lightweight and annotated tag…

Practical Collaboration Patterns

1 lesson

Lesson 16: Git Workflows for Teams

21 min
This lesson explains the most common Git workflows used by teams so learners can collaborate without stepping on each other’s work. It covers when to use a shared branch, a feature-branch workflow, an…

Putting It All Together

1 lesson

Lesson 17: Best Practices, Troubleshooting, and Everyday Git Confidence

20 min
This lesson brings the course together with practical habits that make Git easier to use every day. You will learn how to keep a clean commit history, avoid common mistakes, recover from simple proble…
About Your Instructor
Professor Peter Lambert

Professor Peter Lambert

Professor Peter Lambert guides this AI-built Virversity course with a clear, practical teaching style.