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?

  • Git pull error: Your local changes to the following files would be overwritten by merge:
  • is Bitbucket Repository, --bare or no?
  • How to compare two revisions in Bitbucket?
  • Git Commits appear in Bitbucket but not in SourceTree
  • Using Bitbucket, how do I get commits from one branch into another?
  • Limit Access of GitHub or Bitbucket Repository
  • Deployment of Continuous Integration Infrastructure
  • git-svn-id is missing from some commits
  • How do I make Git use the editor of my choice for commits?
  • git merge squash and recurring conflicts
  • Find files in git repo over x megabytes, that don't exist in HEAD
  • Git: how to use rebase with theirs strategy
  • 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.