How do I create a new branch in git
to begin work on a new feature?
I want the new branch to be a duplicate of the current branch (ie, the new branch's HEAD should be the same as the current HEAD).
Question differentiation:
- Create a branch in Git from another branch seems related but is actually about why a branch is fast-forward merged.
- How do you create a remote Git branch? is about creating a new branch on a remote.
TL;DR:
To create and start work on a new branch called
FEATURE
, you do:Detailed explanation
To create a branch called
FEATURE
:However, this does not change your current branch.
You can then
checkout
the newly created branch (which means make to it the branch you're currently working on:(You can see the current branch marked with a
*
in the output ofgit branch --list
.)Generally you want to start working in the branch you have just created, so the shortcut equivalent for both commands is
git checkout -b FEATURE
, which creates a new branch, then doescheckout
on it.