git pull origin master returns fatal: invalid refspec

smotchysmooly picture smotchysmooly · Oct 18, 2013 · Viewed 69.6k times · Source

Here is the problem:

Whenever I do

$ git pull 'https://github.com/username/reponame.github.io.git'

followed by the url I get no problems but when I do

git pull origin master 'https://github.com/username/reponame.github.io.git'

followed by the url it returns

fatal: Invalid refspec 'https://github.com/username/reponame.github.io.git'

What does this mean and how should I go about fixing it?

Answer

miqh picture miqh · Oct 18, 2013

If you have already established remote-tracking branches (i.e. git clone does this automatically) and want to use git pull with the intention of grabbing and merging the latest commits for the current branch off the remote repository, I believe that executing the following will suffice:

git pull

To achieve the same effect with the inclusion of a refspec (unnecessarily long-winded):

// Pulls the remote 'master' branch down to the local 'master' branch
git pull origin master:refs/remotes/origin/master

You are receiving that error because the provision of a URL is not how the refspec is formatted.

For further details on how the refspec works and its syntax, consult this chapter from the wonderful Pro Git book. Hope that helps!