Git: Efficient steps to create a new branch and push to remote

I figured out the steps but seems cumbersome, take bitbucket for example, suppose i already have a project called prj

  1. I branch a new project from server side(, called prj-bz
  2. From local i add add a remote git remote add prj-bz https://blah...
  3. At the same time from local i create a new branch called prj-bz
  4. From local i call git push prj-bz prj-bz to let local repo and remote one connected.

I checked out some git books but seem none cover this.
Any more efficient way to do this?

  • Build Bamboo from Bitbucket, Deploy to Azure Cloud
  • Trying to push to BitBucket but I get “master conq: repository access denied.” “fatal: The remote end hung up unexpectedly”
  • How to use Bitbucket and GitHub at the same time for one project?
  • How to configure jenkins with bitbucket
  • How do I delete/remove a push from Bitbucket?
  • How can I delete a repository in the new Bitbucket
  • git svn show-ignore gives error “command returned error: 1”
  • How to make git-svn use specific version of SVN?
  • How do you reset the stored credentials in 'git credential-osxkeychain'?
  • What determines default branch after “git clone”?
  • How do you remove Microsoft Git Provider?
  • Delete and Redeploy Rails app to heroku
  • 2 Solutions collect form web for “Git: Efficient steps to create a new branch and push to remote”

    Generally, people usually do one or the other Fork or Branch. It sounds like you are making a Fork of a repo, then making a branch in the fork with the same name. If you’re using a Pull Request to put data back in to the main repo, you don’t need to do both. Pick one of the two workflows:

    • Fork the repo on Bitbucket (or other site)
    • Clone the repo git clone
    • Work in that fork git commit -m "some work done", git push -u origin master
    • Create a Pull request to request your changes to be placed back into the parent of the fork


    • Clone the main repo git clone
    • Create a new local branch git checkout -b my-branch
    • Work in that branch git commit -m "some work done"
    • Push up the branch git push -u origin my-branch
    • Create a Pull request

    With the branch method, I’m assuming you have rights to write to the main repo. If not, you’ll want to stick to the fork method. There are more workflows out there too. Bitbucket also has a doc explaining this as well as one on Atlassian’s website with a bit more depth on Git workflows.

    Well, if creating a new repo instead of a new branch in an existing one, you could just git clone https://blah <target folder> to replace steps 2-4.

    If not, your only real alternative is creating a simple script that accepts remote name, branch name and git url as arguments and executes steps 2-4 with that information.

    Git Baby is a git and github fan, let's start git clone.