【问题标题】:git push origin gives remote part of refspec is not a valid namegit push origin 给出 refspec 的远程部分不是有效名称
【发布时间】:2012-08-14 03:13:28
【问题描述】:

我使用我的 GitHub 帐户创建了一个远程仓库 https://github.com/darKoram/sphero_tracker.git。到目前为止,它只包含一些 wiki 页面,但我已准备好上传我的代码。

我用

git push origin git@github.com:/darkoram/shpero_tracker.git

我也试过

git push origin https://github.com/darKoram/sphero_tracker.git

两次我都得到了

refspec 的远程部分不是https://github.com/darKoram/sphero_tracker.git 中的有效名称

我之前推送过没有问题。只是不知道我在这里做错了什么。


我走得更远了。按照 marshall 的说明和下面的 generation-ssh-keys 链接,但仍然得到 ​​p>

git push -u origin master 错误:未找到存储库。 致命:远端意外挂断

我已经确定我的 ssh 密钥是好的,并通过将我的 id_rsa.pub 中的内容添加到我的 github(它说密钥已经存在)来验证它们存在于 github 上。

$ ssh -T git@github.com 嗨达科拉姆!您已成功通过身份验证,但 GitHub 不提供 shell 访问权限。

https://help.github.com/articles/generating-ssh-keys

ssh -T -p 443 git@ssh.github.com 无法确定主机'[ssh.github.com]:443 ([207.97.227.248]:443)'的真实性。 RSA 密钥指纹为 16:27:ac:a5:76:28:2d:36:63:1b:56:4d:eb:df:a6:48。 您确定要继续连接(是/否)?是的 警告:将 '[ssh.github.com]:443,[207.97.227.248]:443' (RSA) 永久添加到已知主机列表中。 嗨达科拉姆!您已成功通过身份验证,但 GitHub 不提供 shell 访问权限

git 远程 -v 来源 git@github.com:darKoram/shpero_tracker.git (fetch) 来源 git@github.com:darKoram/shpero_tracker.git(推送)

但 repo 似乎确实存在 http://www.pasteall.org/pic/show.php?id=36560

【问题讨论】:

    标签: git


    【解决方案1】:

    为什么不关注instructions GitHub gives you

    git remote add origin git@github.com:darkoram/shpero_tracker.git
    git push -u origin master
    

    您发出的命令是“推送到名为origin 的远程仓库@ 名为git@github.com:/darkoram/shpero_tracker.git 的分支”,这显然是不正确的。

    【讨论】:

      【解决方案2】:

      原发帖人的原问题说:

      我用

      git push origin git@github.com:/darkoram/shpero_tracker.git
      

      我也试过

      git push origin https://github.com/darKoram/sphero_tracker.git
      

      两次我都得到了

      refspec 的远程部分不是https://github.com/darKoram/sphero_tracker.git 中的有效名称

      错误是指您没有使用有效的参考规范。 refspec 采用以下形式([] 中的项目是可选的,<> 中的项目是参数):

      [+]<source>[:<destination>]
      

      在上面的格式中,源和目标都是引用,Git 中的分支是引用,所以你可以使用分支作为 refspecs。例如,以下都是有效且等效的 refspec:

      master
      master:master
      

      将两个 refspec 与 git push 一起使用:

      git push origin master
      git push origin master:master
      

      会将本地分支 master 推送到远程 origin 上名为 master 的分支。

      你的问题

      你用过

      git push origin git@github.com:/darkoram/shpero_tracker.git
      

      git@github.com:/darkoram/shpero_tracker.git 不是一个空的参考/分支,它是你的远程仓库的 URL。这可能就是 Git 抱怨 refspec 无效的原因。

      推送分支的正确方法是

      git push origin <branch>
      

      另见

      【讨论】:

        【解决方案3】:

        我用

        git push origin git@github.com:/darkoram/shpero_tracker.git

        我也试过

        git 推送来源https://github.com/darKoram/sphero_tracker.git

        两次我都得到了

        refspec 的远程部分不是 >https://github.com/darKoram/sphero_tracker.git 中的有效名称

        解决办法是把分支名放在git命令的最后:

        git push https://github.com/darKoram/sphero_tracker.git master
        

        【讨论】:

          【解决方案4】:

          请考虑您用于这些远程地址的大小写(大写、小写):

          git remote add origin git@github.com:darKoram/shpero_tracker.git
          # NOT:
          git remote add origin git@github.com:darkoram/shpero_tracker.git # won't work
          #                                      ^^^
          #                                       |
          

          见:

          【讨论】:

            【解决方案5】:

            最后,我能够连接,但是在尝试时 git push origin master 尽管有 事实上,我的 repo 是仅使用默认的 Readme.md 创建的。 我尝试了手册页中的建议,但最后,当我的开发文件夹 被推送到github,文件夹显示为绿色,无法打开。 我所做的 git pull --rebase 也以某种方式从本地 git 中排除了我的开发文件 回购,我发现没有办法将它们添加回来。

            最后,我不得不创建一个新的 github 存储库和一个新的本地存储库。这个过程的关键是 第 3 步,在尝试推送之前拉动几乎空的(Readme.md 除外)存储库。

            1. 创建 github 仓库
            2. git add remote origin (https://...github页面窗口中的url)
            3. git clone origin master
            4. 创建本地仓库;添加;提交;
            5. git 推送来源

            我想如果我不接受为 repo 创建自述文件的对话框提供,那么 3 将是不必要的,但令我感到奇怪的是,这个默认选项会破坏简单的 repo 创建过程,正如许多关于主题。

            【讨论】:

              【解决方案6】:

              在我的情况下,我也遇到了同样的错误。

              致命:refspec 的远程部分不是https://github.com/username/repo.git 中的有效名称

              首先我认为这是由于更改了用户名(因为我最近在 github 上更改了我的用户名)但这不是问题。

              当我尝试 git fetch 然后 git pull 但得到同样的错误。

              终于解决了

              git push origin master 
              

              不知道,但这有效。

              【讨论】:

                【解决方案7】:

                我今天遇到了类似的问题。 FWIW,这修复了它:

                git fetch 后跟 git pull origin mybranch(回复:“已经是最新的”)

                然后git push origin mybranch

                我怀疑可能需要获取与上游父分支相关的内容(?)。如果其他人可以解释为什么会修复它,我会全神贯注。

                【讨论】:

                  猜你喜欢
                  • 1970-01-01
                  • 2014-07-17
                  • 1970-01-01
                  • 2019-03-12
                  • 2014-10-17
                  • 2021-07-14
                  • 2017-04-25
                  • 2018-10-31
                  • 2021-09-09
                  相关资源
                  最近更新 更多