git pull origin master 返回 fatal: invalid refspec。

24

问题如下:

每当我执行

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

跟着url,我没有遇到问题,但是当我执行

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

跟着url时它返回

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

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

2个回答

15
如果您已经建立了远程跟踪分支(例如git clone会自动执行此操作),并且希望使用git pull来获取并合并当前分支最新提交的代码,我认为只需执行以下命令即可:
```bash git pull ```
git pull
为了在包括 refspec 的情况下达到相同的效果(冗长无用):

通过添加 refspec 以达到相同效果:

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

您收到该错误是因为URL的提供方式不符合refspec的格式要求。

如需了解refspe 的工作原理和语法,请参考这本精彩的《Pro Git》书籍中的章节。希望能对您有所帮助!


3
如果您想使用其明确的URL从仓库中拉取“master”分支,则要调用的命令为:
git clone [repo-url] -b master
git pull https://github.com/username/reponame.github.io.git master

因为“origin”只是所谓的“命名远程”的名称,它是一种配置别名的存储库,允许您在每次访问时不必键入该存储库的URL。 git pull 的规范调用方式是:
git pull [<repo> [<refspec> ...]]

[...]中的部分是可选的 — 请参阅手册页面


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接