Create a branch in Git from another branch

revohsalf picture revohsalf · Dec 17, 2010 · Viewed 1.4M times · Source

I have two branches: master and dev

I want to create a "feature branch" from the dev branch.

Currently on the branch dev, I do:

$ git checkout -b myfeature dev

... (some work)

$ git commit -am "blablabla"
$ git push origin myfeature

But, after visualizing my branches, I got:

--**master**
------0-----0-----0-----0-----0
------------------------**dev**----**myfeature**

I mean that the branch seems ff merged, and I don't understand why...

What I'm doing wrong?

Can you explain me please how you branch off from another branch and push back to the remote repository for the feature branch?

All that in a branching model like the one described here.

Answer

Abizern picture Abizern · Dec 17, 2010

If you like the method in the link you've posted, have a look at Git Flow.

It's a set of scripts he created for that workflow.

But to answer your question:

$ git checkout -b myFeature dev

Creates MyFeature branch off dev. Do your work and then

$ git commit -am "Your message"

Now merge your changes to dev without a fast-forward

$ git checkout dev
$ git merge --no-ff myFeature

Now push changes to the server

$ git push origin dev
$ git push origin myFeature

And you'll see it how you want it.