How do I do a git pull to a specific branch?

Updated answer: You need to specify what branch you want to pull from, since your local branch is not configured to pull from heroku's master.

So try something like:

git pull heroku master

Remember that you have to have checked out develop in order for this command to pull to the local branch develop.


Note: if you want to push/pull by default to heroku/master from your develop branch, you can configure it with:

git branch --set-upstream-to develop heroku/master

You can check your merge policy on the develop branch with a:

git config branch.develop.merge

Note: As commented by Animay, since Git 1.8, --set-upstream is renamed --set-upstream-to.
--track is also possible, although slightly different.


When you pull you have to specify which remote branch you want to pull from. It doesn't make any sense to pull from just "heroku" because it may have multiple branches and Git doesn't know which one you want.

If there is only one branch on your remote then it's probably called "master". Try:

git checkout develop
git pull heroku master

This puts you into your local "develop" branch then pulls the "master" branch from the repository called "heroku".


As of this writing, the command git pull provides the answer. When I try to git pull without any further arguments, it provided me the following information:

rockyinde.desktop% git pull
remote: Counting objects: 143, done.
remote: Compressing objects: 100% (95/95), done.
remote: Total 143 (delta 75), reused 87 (delta 23)
Receiving objects: 100% (143/143), 29.59 KiB | 0 bytes/s, done.
Resolving deltas: 100% (75/75), completed with 33 local objects.
From ssh://git.rockyinde.com:<port>/code/myproject
   2d232ds..1hw1f84  frontline   -> rockyremote/frontline

There is no tracking information for the current branch.
Please specify which branch you want to merge with.
See git-pull(1) for details

   git pull <remote> <branch>

If you wish to set tracking information for this branch you can do so with:

   git branch --set-upstream-to=<remote>/<branch> develop

So, all you need to be looking at (in the above output) is:

From ssh://git.rockyinde.com:<port>/code/myproject
   2d232ds..1hw1f84  frontline   -> rockyremote/frontline

which specifies your remote/branch information. And so, in my case it is:

git pull rockyremote frontline