TL;DR: I've added a new focused practice to GitByBit that teaches merging, rebasing, and resolving conflicts. You can access it in the latest version of GitByBit for VS Code.
Have you ever merged a branch and been greeted by a wall of conflict markers? Or pulled changes from a remote repository only to find that your local changes are at odds with the incoming ones? This is one of the most frustrating aspects of using Git, especially for beginners.

Merge conflicts: the bane of every Git user.
For that reason, I've added a new focused practice to GitByBit called "Merging, rebasing, and resolving conflicts." In this practice, you will:
- Learn what the fuss is about merging versus rebasing, and when to use each.
- Explore when Git performs a fast-forward merge versus creating a merge commit—and why that distinction matters.
- Rehearse rebasing and merging on real-world branches without touching production repositories.
- Learn how to choose the right integration strategy for your project and team norms.
Conflicts are part of collaborative work, so the practice leans into them. You will see how conflicts arise, learn to spot the important bits in the conflict markers, and resolve them using both the terminal and a graphical interface.
Finally, the practice will guide you through a common failed push scenario. You step into the shoes of an experienced Git user helping a teammate push their changes to a remote repository while navigating cryptic errors and merge conflicts.
You can access the new merging and rebasing practice right away in the latest version of GitByBit for VS Code.
Blog
GitByBit dev diary, thoughts and ideas about Git, GitHub, and the world of software development by the industry veteran Alexander Shvets.