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
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
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.
Instructor Details
- 4.9 Rating
26 Reviews
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.
More courses by Yanis Smilga
Complete React, Next.js & TypeScript Projects Course 2025
4.6 (12,794 Reviews)
Provider: Udemy
Time: 108.9h
$129.99
HTML&CSS Tutorial and Projects Course (Flexbox&Grid) (2024)
4.5 (5,418 Reviews)
Provider: Udemy
Time: 40.2h
$15.99
Javascript Tutorial and Projects Course (2024)
4.5 (4,579 Reviews)
Provider: Udemy
Time: 46.2h
$13.99
MERN 2025 Edition - MongoDB, Express, React and NodeJS
4.5 (2,820 Reviews)
Provider: Udemy
Time: 19.1h
$94.99
Gatsby.js 3 Tutorial and Projects Course (2024)
4.5 (1,748 Reviews)
Provider: Udemy
Time: 21.8h
$10.99
More Web Development courses
Python Fullstack Mastery: Build Modern Web Apps with Django (2025)
5.0 (165 Reviews)
Provider: Udemy
Time: 35h
$19.99
NgRx Signal store for Angular - The missing guide (2026)
4.9 (436 Reviews)
Provider: Udemy
Time: 11.3h
$89.99
Vue 3: Create a Mobile & Desktop App (with Quasar 2 & Pinia) (2024)
4.9 (177 Reviews)
Provider: Udemy
Time: 7.6h
$79.99
Build a URL Shortener App with ASP.NET: Step by Step (2026)
4.9 (100 Reviews)
Provider: Udemy
Time: 9.6h
$10.99
The Complete Elixir and Phoenix Bootcamp (2021)
4.8 (7,773 Reviews)
Provider: Udemy
Time: 17.4h
$84.99
Reviews
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!
Quality Score
No CourseDuck member has rated this course yet. Taken it? Give each part a thumbs up or down.
Overall Score : 98 / 100












