【问题标题】: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

      【讨论】:

        猜你喜欢
        • 2011-02-22
        • 2020-07-27
        • 1970-01-01
        • 2012-01-31
        • 2016-04-08
        • 1970-01-01
        • 2013-05-04
        • 2014-03-12
        相关资源
        最近更新 更多