Create a branch in Git from another branch
If you want create a new branch from any of the existing branches in Git, just follow the options.
First change/checkout into the branch from where you want to create a new branch. For example, if you have the following branches like:
- master
- dev
- branch1
So if you want to create a new branch called "subbranch_of_b1" under the branch named "branch1" follow the steps:
Checkout or change into "branch1"
git checkout branch1
Now create your new branch called "subbranch_of_b1" under the "branch1" using the following command.
git checkout -b subbranch_of_b1 branch1
The above will create a new branch called subbranch_of_b1 under the branch branch1 (note that
branch1
in the above command isn't mandatory since the HEAD is currently pointing to it, you can precise it if you are on a different branch though).Now after working with the subbranch_of_b1 you can commit and push or merge it locally or remotely.
push the subbranch_of_b1 to remote
git push origin subbranch_of_b1
Create a Branch
- Create branch when master branch is checked out. Here commits in master will be synced to the branch you created.
$ git branch branch1
- Create branch when branch1 is checked out . Here commits in branch1 will be synced to branch2
$ git branch branch2
Checkout a Branch
git checkout command switch branches or restore working tree files
$ git checkout branchname
Renaming a Branch
$ git branch -m branch1 newbranchname
Delete a Branch
$ git branch -d branch-to-delete
$ git branch -D branch-to-delete
( force deletion without checking the merged status )
Create and Switch Branch
$ git checkout -b branchname
Branches that are completely included
$ git branch --merged
************************** Branch Differences [ git diff branch1..branch2 ] ************************
Multiline difference$ git diff master..branch1
$ git diff --color-words branch1..branch2
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.