Francisco Javier Palacios Pérez Fco. Javier Palacios Pérez
Software Developer
Course: Mastering Git from scratch

Course: Mastering Git from scratch

In this course you will find the commands needed to get started with Git, but also those to do more advanced tasks to increase your productivity (and safety) when you are working on your projects.

Cherry-picking commits in Git 21

Cherry-picking commits in Git

Learn how to use git cherry-pick to apply specific commits from one branch to another—perfect for backporting hotfixes, rescuing buried work, and surgical history management.

Recovering lost work with git reflog 22

Recovering lost work with git reflog

Learn to use git reflog to recover deleted commits, lost branches, and any change that seemed gone forever after a reset or a Git mistake.

Finding bugs with git bisect 23

Finding bugs with git bisect

Learn to use git bisect to find the exact commit that introduced a bug using binary search — and how to automate it so Git does all the work while you grab a coffee.

Investigating Code Changes Line by Line with git blame 24

Investigating Code Changes Line by Line with git blame

Who broke everything? git blame tells you line by line, and when history gets messy, git log has options you probably did not know to trace code even after it changed names.

How to resolve merge conflicts in Git 25

How to resolve merge conflicts in Git

Conflict markers make sense once you understand the three-way merge: what HEAD means, what the separator does, and how to resolve conflicts cleanly with or without visual tools.

Git commit best practices 26

Git commit best practices

Atomic commits, messages that explain the why, and the Conventional Commits standard: the difference between a history that documents and one that just takes up space.

Branch naming conventions in Git 27

Branch naming conventions in Git

How to name branches so your team understands at a glance what they contain, which ticket they map to, and when it's safe to delete them.

Git Flow: a workflow for managing releases 28

Git Flow: a workflow for managing releases

Git Flow formalizes the branch prefixes you already know into a structured process: permanent main and develop branches, plus temporary branches for features, releases, and hotfixes.

GitHub Flow: the workflow for teams that ship continuously 29

GitHub Flow: the workflow for teams that ship continuously

GitHub Flow strips branching down to the essentials: one stable branch, short-lived feature branches, Pull Requests for review, and deploy after every merge.

Pull Requests and code review: how to make your code easy to review 30

Pull Requests and code review: how to make your code easy to review

A Pull Request is not just the mechanism to merge code — it's a conversation. Learn to write PRs that people actually want to review and give feedback that builds instead of blocks.