🎓 Courses

Git Basics

Beginner 1.5 hours

If you understand the basics and feel comfortable using Git for version control it is time to look into the core concepts and some advanced features. Use this guided course and follow along.

Start Course

Git Internals

Advanced 1 hour

If you understand the basics and feel comfortable using Git for version control it is time to look into the core concepts and some advanced features. Use this guided course and follow along.

Start Course

Git Tips & Tricks

Intermediate 30 minutes

Discover useful Git tips and tricks to improve your workflow and productivity. Learn practical techniques that will make you more efficient with Git.

Start Course

Git Init

Beginner 8 minutes

Learn how to initialize a new Git repository. This lesson will guide you through creating a new directory, initializing a new Git repository, and configuring your Git identity.

Start Lesson

Git Add

Beginner 8 minutes

Learn how to stage changes for commit using git add. This lesson covers adding individual files, multiple files, and using wildcards to stage changes efficiently.

Start Lesson

Git Commit

Beginner 10 minutes

Learn the basics of staging and committing changes in Git. This lesson will guide you through checking status, adding files, and making your first commit.

Start Lesson

Git Reset

Intermediate 15 minutes

Learn how to undo changes in Git using different reset modes. This lesson covers soft, mixed, and hard resets with practical examples.

Start Lesson

Git Partial Add

Intermediate 15 minutes

Learn how to interactively stage parts of a file. This lesson covers selectively staging parts of files, reviewing changes before staging, and managing complex commits with precision.

Start Lesson

Git Stash

Beginner 15 minutes

Learn how to temporarily save your work using git stash. This essential feature allows you to quickly switch branches or pull changes without committing your current work.

Start Lesson

Git Amend

Intermediate 10 minutes

Learn how to modify the most recent commit using git commit --amend. This lesson covers changing commit messages, adding forgotten files, and understanding when it's safe to amend commits.

Start Lesson

Git Blame

Intermediate 12 minutes

Check who is responsible for a change in your code. Learn how to use git blame to track the origin of lines in your code. This lesson covers basic blame usage, the powerful -C -C -C options for tracking moved code, and advanced blame techniques.

Start Lesson

Git Branch

Beginner 10 minutes

Learn the basics of branching in Git. This lesson will guide you through creating a new branch, checking out a branch, and merging a branch.

Start Lesson

Merge Strategies

Intermediate 15 minutes

Understand the different Git merge modes and in which situation Git uses which one. Learn about different merge strategies and how to control merge behavior.

Start Lesson

Git Rebase

Intermediate 12 minutes

Learn how to use git rebase to maintain a clean, linear history. This lesson covers rebasing feature branches onto main, fast-forward merges, and the benefits of rebasing over merging.

Start Lesson

Git Interactive Rebase

Intermediate 20 minutes

Learn how to use interactive rebase to maintain a clean history. This lesson covers interactively rebasing branches, how to not clutter the history with commits without any value by them selves.

Start Lesson

Autosquashing

Advanced 20 minutes

Learn how to use git commit --fixup and --squash to create commits that can be automatically combined with previous commits during interactive rebase. This helps maintain a clean commit history.

Start Lesson

Git Worktree

Intermediate 12 minutes

Learn how to work with multiple branches at the same time using git worktree. This powerful feature allows you to have multiple working directories for the same repository, making it easy to switch between branches, even if you have local changes.

Start Lesson

Git Clone

Beginner 6 minutes

Learn how to clone an existing repository from a remote source. This lesson covers cloning repositories, understanding the clone process, and exploring the cloned repository structure.

Start Lesson

Git Pull

Beginner 7 minutes

Learn how to fetch and merge changes from a remote repository. This lesson covers pulling updates, understanding the pull process, and handling conflicts.

Start Lesson

Git Remotes

Beginner 8 minutes

Learn how to connect your local repository to a remote repository and configure branch tracking. This lesson covers adding remotes, viewing configuration, and setting up branch tracking.

Start Lesson

Git Push

Beginner 8 minutes

Learn how to push your local commits to a remote repository. This lesson covers adding a remote origin and pushing your changes to GitHub.

Start Lesson

Multiple Git Remotes

Intermediate 15 minutes

Learn how to work with multiple remotes to keep a fork synchronized with the upstream repository. This lesson covers adding upstream remotes, fetching changes, and keeping your fork up to date.

Start Lesson

Git Config

Beginner 12 minutes

Learn the difference between local and global Git configuration and when to use which one. You will learn how to view and set configuration settings for your Git repositories.

Start Lesson

Conditional Configs

Intermediate 15 minutes

Learn how to use conditional Git configuration based on directory paths. This lesson covers includeIf directives, work vs personal configurations.

Start Lesson

Git Aliases

Intermediate 10 minutes

Learn how to create custom Git aliases to speed up your workflow. This lesson covers setting up aliases for common commands and best practices for alias management.

Start Lesson

Global Exclude File

Beginner 10 minutes

Learn how to set up a global gitignore file to exclude common IDE directories and files across all your Git repositories. This lesson covers creating core.excludefile and taking responsibility managing you local environment settings.

Start Lesson

Better default settings

Intermediate 15 minutes

Essential Git configuration settings that every developer should know and use. This lesson covers config settings that should be the deault but sadly aren't yet.

Start Lesson

Top 10 Aliases

Intermediate 15 minutes

My essential Git aliases that may help you to speed up your workflow. This lesson covers my most useful Git aliases for productivity and workflow optimization.

Start Lesson

Git Objects

Advanced 20 minutes

Git stores everything in git objects. Lear about the different kind of objects and their responsibilities.

Start Lesson

Git HEAD

Advanced 15 minutes

Learn how Git uses the HEAD pointer and head refs to track the current state of the repository.

Start Lesson

Git Bisect

Advanced 15 minutes

Learn how to use git bisect to efficiently find the commit that introduced a bug using binary search. This lesson covers starting a bisect session, marking commits as good or bad, and automating the process.

Start Lesson