git pull origin master返回致命:refspec无效

时间:2013-10-18 00:18:35

标签: macos git github terminal refspec

问题在于:

每当我做

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

接着是url我没有遇到任何问题,但是当我做

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

后面跟着它返回的网址

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

这是什么意思,我应该如何解决它?

2 个答案:

答案 0 :(得分:5)

如果您已经建立了远程跟踪分支(即git clone自动执行此操作)并希望使用git pull,目的是从远程存储库中获取当前分支的最新提交并将其合并,我相信执行以下内容就足够了:

git pull

为了达到与包含refspec(不必要的冗长)相同的效果:

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

您收到该错误,因为提供的URL不是refspec的格式化方式。

有关refspec如何工作及其语法的更多详细信息,请参阅精彩的chapter中的Pro Git book。希望有所帮助!

答案 1 :(得分:3)

请解释一下git pull origin master 'https://github.com/username/reponame.github.io.git'

如果您想使用其显式网址从回购中提取分支“master”,那么要调用的命令将是

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

因为“origin”只是所谓的“命名远程”的名称,它是存储库的一个配置别名,允许您不必在每次访问时键入该repo的URL。

git pull的规范调用是

git pull [<repo> [<refspec> ...]]

[...]中的部分是可选的 - 请参阅manual page