【问题标题】:git pull origin master returns fatal: invalid refspecgit pull origin master 返回致命:无效的 refspec
【发布时间】:2013-10-26 16:44:23
【问题描述】:
问题来了:
只要我这样做
$ git pull 'https://github.com/username/reponame.github.io.git'
后跟网址我没有问题,但是当我这样做时
git pull origin master 'https://github.com/username/reponame.github.io.git'
后跟它返回的网址
fatal: Invalid refspec 'https://github.com/username/reponame.github.io.git'
这是什么意思,我应该如何解决它?
【问题讨论】:
标签:
macos
git
github
terminal
refspec
【解决方案1】:
如果您已经建立了远程跟踪分支(即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。希望对您有所帮助!
【解决方案2】:
请解释您的git pull origin master 'https://github.com/username/reponame.github.io.git' 电话应该做什么(在您自己的想法中)?
如果您想使用其显式 URL 从 repo 中提取分支“master”,那么调用的命令将是
git pull https://github.com/username/reponame.github.io.git master
因为“origin”只是所谓的“命名远程”的名称,它是存储库的配置别名,允许您在每次访问它时不键入该存储库的 URL。
对git pull 的规范调用是
git pull [<repo> [<refspec> ...]]
[...] 中的部分是可选的 - 请参阅 manual page。