Skip to content
UdemyWeb DevelopmentPaid courseBeginner levelCertificate

Practical Git and GitHub: From Basics to Pro Workflows (Udemy.com)

Learn the essential Git commands and real-world GitHub workflows used by modern development teams.

Created by: Yanis Smilga

Last updated June 2025

icon
What you will learn

  • Master Core Git Commands and Concepts
  • Work with Branches, Merges, and Rebases Like a Pro
  • Collaborate with GitHub in Real-World Scenarios
  • Recover, Undo, and Manage Git Projects with Confidence

icon
Course Description

Course Description:

This hands-on course is your complete guide to mastering Git and GitHub, starting from absolute basics and progressing through real-world, production-level workflows. You'll not only learn how Git works—you'll use it in structured projects, exercises, and challenges that mimic how modern development teams operate.

Section 1: Git Fundamentals & Setup

You'll begin by understanding what Git is and why it's essential for version control. In this section, you'll:

  • Install and configure Git globally and locally.

  • Learn how Git tracks code history and changes.

  • Explore critical commands like git init, git status, git add, and git commit.

  • Understand the difference between tracked, untracked, staged, and modified files.

  • Build your first Git project from scratch using the command line and VSCode.

Section 2: Exploring Commits & History

Dig deeper into Git internals and learn how to:

  • View detailed commit logs using git log and git log --oneline.

  • Navigate between commits with git checkout <hash>.

  • Understand HEAD and the concept of a detached HEAD.

  • Safely recover lost commits using git reflog.

Section 3: Branching, Merging & Rebase Workflows

You'll learn how teams manage parallel workstreams with branches and bring everything back together:

  • Create, switch, and delete branches.

  • Perform Fast-Forward and Three-Way merges.

  • Use git rebase to create a clean, linear history.

  • Compare merge vs rebase visually using Git log and VSCode GUI.

  • Resolve merge conflicts manually and understand common scenarios.

Section 4: Advanced Git Techniques

Go beyond the basics and unlock Git’s full power:

  • Perform soft and hard resets (git reset --soft, --hard, --mixed).

  • Unstage and discard changes using git restore and git checkout.

  • Clean untracked files with git clean.

  • Use .gitignore to exclude sensitive and temporary files.

  • Stash in-progress work and safely apply it later (git stash).

Section 5: Commit Squashing & Cherry-Picking

Understand how to craft clean and focused commit histories:

  • Use git rebase -i to squash commits interactively.

  • Learn how to apply individual commits from other branches using git cherry-pick.

  • Practice real scenarios that simulate production cherry-picking across cloned repositories.

Section 6: Working with GitHub

Push your local skills into the cloud and collaborate like a pro:

  • Create a GitHub repo and connect via SSH.

  • Push and pull branches, configure remotes, and set up upstream tracking.

  • Learn the difference between git fetch and git pull.

  • Use GitHub UI and VSCode to publish branches and manage repos.

Section 7: Real-World GitHub Workflows

Work through end-to-end collaborative GitHub challenges:

  • Clone repositories and simulate multiple developer environments (dev1, dev2, dev3).

  • Create and merge branches using pull requests.

  • Perform merge and rebase-based strategies for integrating code.

  • Explore GitHub branching models and workflow decisions.

Practice Challenges Throughout

Each section includes exercises and challenges to reinforce concepts:

  • Build isolated Git projects for hands-on repetition.

  • Simulate team-based workflows using multiple local environments.

  • Apply real-world recovery tools like reflog, stash, and cherry-pick.

icon
Udemy Discount

The discount is applied through our link. Open the course from here and Udemy's current promotional price is applied at checkout on most courses, no code to type.

Some courses are excluded from Udemy's promotions. If the price does not drop, clear your browser cookies and use the button again.

icon
Instructor Details

Yanis Smilga

Hello, I’m Jānis Smilga, a web developer based in Sigulda, Latvia. These days, I spend most of my time working with AWS CDK, TypeScript, and Node.js—building cloud infrastructure and scalable backend systems. I enjoy coding and the constant challenge of learning something new. You can also find me on my YouTube channel, Coding Addict.

icon
More courses by Yanis Smilga

$129.99

$15.99

$13.99

$94.99

$94.99

$10.99

icon
More Web Development courses

$19.99

$89.99

$89.99

$79.99

$10.99

$84.99

icon
Reviews

4.9

26 ratings on Udemy

Select a bar to show only those reviews.Select the bar again to show every rating.

By Sos Muradyan on 4/2/2026

If I need to learn something and John has a course on it, the conversation is over for me — I will always prefer his content over anyone else's.

By Kountchou Kouam Gilles Aubin on 2/19/2026

Excellent. I am learning alot

By Ekemezie Bartholomew on 11/15/2025

John is as excellent teacher. I have followed him from html and css lectures, to react, nodejs, nextjs, etc. He is solid. And this git/github course is the best I have seen so far

By Claudio Seccia on 10/27/2025

Clear and exaustive: as all the Jānis Smilga courses I already know I won't be disappointed, he's an excellent teacher!!!

By Javier Domine on 9/7/2025

Este curso fue una buena elección! Estoy 100% conforme con el mismo.

By rami sultana on 8/10/2025

john is great mentor

By Alessandro Dantas on 8/2/2025

Very practical course

By Tami Schultz on 6/11/2025

NOTE: You learn git/github task workflow using BOTH the command line AND the Visual Studio Code graphical user interface. This is the 10th course I’ve bought from John. I wish it had been around when I started my dev journey - I’ve stumbled through doing anything beyond a basic commit and I’m looking forward to truly understanding not only what to do using best practices, but also the how and the WHY behind the techniques and approaches he shows everyone. His code is ALWAYS clean - if errors are discovered after videos have been shot, they are updated to show what the correction is. This is crucial - if I’m not getting the results shown, I know I need to look at my code more closely to find my error. This creates strong confidence that I know what I’m doing once I understand and practice what is being shown. He and his assistant are always responsive in a timely fashion in the Q & A (usually within 24-48 hours depending on your time zone). Courses are kept up to date with current versions of major software, languages and libraries. Practice projects and exercises are always highly practical and aesthetically pleasing. I’ve taught tech courses in a collegiate setting for over 20 years - John clearly knows how to engage and motivate his students through his passion, humor, and clear explanations that build step by step from the ground up. When John drops a course, I buy it sight unseen to add to my “Smilga University” collection of Udemy gems -- if he covers it, he’s my first line of defense for learning a topic! Visit his podcasts on his Coding Addict YouTube channel for more tips and practical discussions on working in the field of web development! Hit that “Add to Cart” button and begin enjoying your journey with John!

Showing all 8 reviews on CourseDuck

Read all 26 reviews on Udemy

icon
Quality Score

No CourseDuck member has rated this course yet. Taken it? Give each part a thumbs up or down.

Content Quality
/
Video Quality
/
Qualified Instructor
/
Course Pace
/
Course Depth & Coverage
/

Overall Score : 98 / 100