Skip to content

A Git Cheat Sheet



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>

→ Read my full Git Tutorial on THE VALLEY OF CODE!
  • Learn modern web development in my BOOTCAMP (SIGNUP END TOMORROW FEB 20, 2024)
  • THE VALLEY OF CODE (+ PRO), your web development manual
  • I wrote 15+ coding BOOKS, all available in THE VALLEY OF CODE PRO
  • Indie solopreneur internet business masterclass SOLO LAB (summer 2024)