I want to be able to do the following:
Create a local branch based on some other (remote or local) branch (via git branch or git checkout
You can do it in 2 steeps:
1. Use the checkout for create the local branch:
git checkout -b yourBranchName
Work with your Branch as you want.
2. Use the push command to autocreate the branch and send the code to the remote repository:
git push -u origin yourBanchName
There are mutiple ways to do this but I think that this way is really simple.