Move commits from master to a new branch

Git, Branch, Repository · Apr 13, 2021

Moves local commits from the master branch to a new branch.

  • Use git branch <branch> to create a new branch at the tip of the current master.
  • Use git reset HEAD~<n> --hard to rewind back <n> commits and discard changes.
  • Use git checkout <branch> to switch to the new branch.
  • Only works if the changes have only been committed locally and not pushed to the remote.
git branch <branch>
git reset HEAD~<n> --hard
git checkout <branch>
git checkout master
git add .
git commit -m "Fix network bug"
git branch patch-1
# `patch-1` branch is created containing the commit "Fix network bug"
git reset HEAD~1 --hard # Remove the commit from `master`
git checkout patch-1

Written by Angelos Chalaris

I'm Angelos Chalaris, a JavaScript software engineer, based in Athens, Greece. The best snippets from my coding adventures are published here to help others learn to code.

If you want to keep in touch, follow me on GitHub or Twitter.

More like this