How To Create A Remote Branch In Git | Learn Version Control With Git

How to Create a Remote Branch in Git

Actually, Git does not allow creating a (new, isolated) branch on a remote repository. Instead, you can push an existing local branch and thereby publish it on a remote repository.

In this short article, we'll explain how to do this and what to watch out for!

The Git Cheat Sheet

No need to remember all those commands and parameters: get our popular "Git Cheat Sheet" - for free!

Download Now for Free

(1) A Local Branch You Want to Publish

As already said, creating a remote branch actually starts on the opposite end: in your local Git repository! You need to make sure you have a local branch that represents a state you want to push to the remote.

If you already have such a local branch at hand, you can simply check it out:

$ git checkout <branch-name>

If such a local branch doesn't yet exist, you can easily create it:

# To create a new local branch... # ...based on the current revision: $ git checkout -b <branch-name> # ...based on a specific revision hash: $ git checkout -b <branch-name> <commit-hash>

(2) Push the Local Branch to the Remote Repository

Now, with the correct local branch checked out, you can publish it on a remote repository - thereby "creating" it on that remote:

$ git push -u origin <branch-name>

Please mind the "-u" option: it establishes a "tracking relationship" between the existing local and the new remote branch.

The article "How to Set Upstream Branch in Git" explains this in detail. But here's a brief explanation: such a tracking relationship makes any future "push" and "pull" operations very easy. You can simply run a plain git push or git pull without any further options! The tracking relationship saved the source/target branch and the exact remote so that it can be looked up in further interactions.

Tip

Creating Remote Branches in Tower

In case you are using the Tower Git GUI, creating a remote branch is as easy as drag and drop: in the sidebar, simply drag the local branch you want to publish and then drop it onto the respective remote (probably "origin")!

Learn More

  • Check out the chapter on Inspecting Remote Data in our free online book.

Related Questions

  • Fixing & solving merge conflicts
  • Tracking a remote branch
  • Deleting branches in Git
  • Using rebase as an alternative to git merge
  • Merging branches in Git
  • Checking out a remote branch
  • Creating new local and remote branches
  • Deleting local branches
  • How to undo a merge in Git
  • How to rename local and remote branches in Git
  • How to rename the "master" branch to "main" in Git
  • How to compare two branches in Git
  • Check Out a File from Another Branch

For additional Git-related questions (and answers!), visit our FAQ homepage.

Tag » Add Branch Git Remote