22

这是问题所在:

每当我这样做

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

然后是网址我没有问题但是当我这样做时

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

后跟它返回的 url

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

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

4

2 回答 2

12

如果您已经建立了远程跟踪分支(即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 的工作原理及其语法的更多详细信息,请参阅精彩的Pro Git 书籍中的这一。希望有帮助!

于 2013-10-18T02:23:26.600 回答
3

请解释你的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> ...]]

其中的部分[...]是可选的——参见手册页

于 2013-10-18T10:42:24.910 回答