All about Git covering: conflicts, branches, rebase, and GitHub workflows.


This series contains 12 posts:

Solving conflicts in Git

A recipe to understand and fix conflicts in git

Dec 24, 2021

Creating empty folders in git with .gitkeep

Git doesn't track empty folders. Here's how the .gitkeep file lets you commit an empty directory and keep your project's folder structure.

Dec 24, 2021

Fixing the branch source with git rebase

Understand how to use git rebase para to fix the brach source

Dec 29, 2021

Updating a branch with git rebase

See how to use git rebase to bring all the most recent commits to your current branch

Dec 30, 2021

Creating a new branch and switching to it with just one command

See how to use git checkout and git switch to create a branch and switch to it with just one command

Jan 1, 2022

Undoing the last commits using git reset

Learn how to use the git reset command to undo most recent commits

Jan 14, 2022

Undoing the last commit and keeping the changes for a next commit

Undo the last commit with git reset using --soft and reuse the message with ORIG_HEAD

Jan 15, 2022

Using git stash: pop, apply, and drop

Understand how to use git stash and git stash pop for real

Jan 23, 2022

Learn why the command git stash drop is useful

Understand when to use git stash drop how it works

Feb 5, 2022

Renaming files in Git: the right way (using git mv)

Rename a file in git without breaking your history. Learn how git mv renames files in one step so git doesn't think you deleted and recreated them.

Dec 1, 2023

How to undo changes in a Git repository using git revert

Learn how to use git revert and reverse changes

Dec 1, 2023

Recovering lost commits with git reflog

Learn how git reflog tracks your movements in Git, how to read its entries, and how to restore a previous state.

Jun 20, 2026