Tom Hale
Tom Hale

Reputation: 47023

Create new branch based on current branch to work on a new feature

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:

Upvotes: 38

Views: 107382

Answers (2)

doctorram
doctorram

Reputation: 1230

If you say

$ git checkout -b myFeatureBranch anotherBranch

It'll create myFeatureBranch off of anotherBranch. But if you say

$ git checkout -b myFeatureBranch

It'll create myFeatureBranch off of the current branch.

Upvotes: 48

Tom Hale
Tom Hale

Reputation: 47023

TL;DR:

To create and start work on a new branch called FEATURE, you do:

git checkout -b FEATURE

Detailed explanation

To create a branch called FEATURE:

git branch 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:

git checkout FEATURE

(You can see the current branch marked with a * in the output of git 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 does checkout on it.

Upvotes: 52

Related Questions