Skip to content

A Git Cheat Sheet

New Course Coming Soon:

Get Really Good at Git

This page contains a list of Git commands I find handy to know but I find hard to remember

Squash a series of commits and rewrite the history by writing them as one

git rebase -i

this puts you in the interactive rebasing tool.

Type s to apply squash to a commit with the previous one. Repeat the s command for as many commits as you need.

Take a commit that lives in a separate branch and apply the same changes on the current branch

single commit:

git cherry-pick <commit>

for multiple commits:

git cherry-pick <commit1> <commit2> <commit3>

Restore the status of a file to the last commit (revert changes)

git checkout -- <filename>

Show a pretty graph of the commit history

git log --pretty=format:"%h %s" --graph

Get a prettier log

git log --pretty=format:"%h - %an, %ar : %s"

Get a shorter status

git status -s

Checkout a pull request locally

git fetch origin pull/<id>/head:<branch>

git checkout <branch>

List the commits that involve a specific file

git log --follow -- <filename>

List the commits that involve a specific file, including the commits content

git log --follow -p -- <filename>

List the repository contributors ordering by the number of commits

git shortlog -s -n

Undo the last commit you pushed to the remote

git revert -n HEAD

Pick every change you haven’t already committed and create a new branch

git checkout -b <branch>

Stop tracking a file, but keep it in the file system

git rm -r --cached

Get the name of the branch where a specific commit was made

git branch --contains <commit>

Are you intimidated by Git? Can’t figure out merge vs rebase? Are you afraid of screwing up something any time you have to do something in Git? Do you rely on ChatGPT or random people’s answer on StackOverflow to fix your problems? Your coworkers are tired of explaining Git to you all the time? Git is something we all need to use, but few of us really master it. I created this course to improve your Git (and GitHub) knowledge at a radical level. A course that helps you feel less frustrated with Git. Launching May 21, 2024. Join the waiting list!

Here is how can I help you: