【问题标题】:Git push origin master returns "fatal: No path specified."Git push origin master 返回“致命:未指定路径”。
【发布时间】:2019-09-21 20:52:15
【问题描述】:

我最近在 github 上设置了一个新帐户。我正在关注 Michael Hartl 在线 (http://www.railstutorial.org/book#fig:github_first_page) 的 Rails 教程,并按照他的说明设置我的 git,这也与 github 上的设置说明内联。无论如何,github 上的“下一步”部分是:

  mkdir sample_app
  cd sample_app
  git init
  touch README
  git add README
  git commit -m 'first commit'
  git remote add origin git@github.com:rosdabos55/sample_app.git
  git push origin master

我一直到最后一条指令(git push origin master)没有任何问题。但是,当我在终端中输入最后一行时,我收到了以下错误消息:

致命:未指定路径。请参阅“man git-pull”了解有效的 url 语法。

我可能做错了什么?

以下是 .git/config 的内容(由 Jefromi 从 git config -l 的输出中重构,粘贴到下面的评论中):

[user]
    name = Ross
    email = [REDACTED]
[core]
    editor = gvim -f
    repositoryformatversion = 0
    filemode = true
    bare = false
    logallrefupdates = true
[remote "origin"]
    url = git@github.com:
    fetch = +refs/heads/*:refs/remotes/origin/*

【问题讨论】:

  • 有人可能会考虑修改该电子邮件地址
  • 我遇到了类似的问题,下面的答案并没有为我解决。我从 GitHub 存储库复制并粘贴了 git URL,编辑了 .git/config 并确保它是正确的,我收到“快进”错误:为了防止您丢失历史记录,非快进更新被拒绝在再次推送之前合并远程更改(例如“git pull”)。有关详细信息,请参阅“git push --help”的“关于快进的说明”部分。

标签: git github


【解决方案1】:

我已在 cmets 中对另一个答案进行了说明,但这确实是答案(我已将 cmets 的相应部分编辑到它所属的问题中)。

由于某种原因,遥控器的 URL 配置不正确。它设置为“git@github.com:”,这显然缺少路径,从而准确地产生了您看到的错误。您需要正确重新配置它。您可以简单地编辑.git/config,更改相应的行以包含路径。或者你可以这样做:

git remote rm origin
git remote add origin 'git@github.com:rosdabos55/sample_app.git'

当你第一次添加遥控器时,几乎可以肯定你犯了一些小错字或粗心的错误——也许你在它的中间按了回车,也许你在冒号后面输入了一个空格。 (由于某种原因,当您在 remote add <name> <url> 之后提供额外参数时,git 似乎不会抛出错误 - 它只是忽略它。)结果是您实际上并没有运行该命令,而是添加了一个带有网址不完整。

【讨论】:

    【解决方案2】:

    在你的主目录中编辑 git 配置

    vi ~/.gitconfig
    

    在下方留言

    #[remote "origin"]
    #   url = git@#######D########################.git
    # fetch = +refs/heads/*:refs/remotes/origin/*
    

    保存。

    在全局的 git config 和本地 [单个项目级别] 之间发生冲突。

    这解决了我的问题。

    【讨论】:

      【解决方案3】:

      您可能需要先git pull origingit push origin master

      【讨论】:

      • 如果您将新分支推送到存储库或推送到新存储库,则无需先拉取。
      【解决方案4】:

      你能发布git remote show的输出吗?

      您添加远程存储库 (git remote add origin git@github.com:rosdabos55/sample_app.git) 时似乎出了点问题。

      【讨论】:

      • @user306472 (OP):git remote show -n origin的输出怎么样?
      • * 远程源 URL:git@github.com:HEAD 分支:(未查询)为“git push”配置的本地参考(状态未查询):(匹配)推送到(匹配)跨度>
      • 该远程 URL 似乎缺少存储库的路径 - 它只是获得了用户和主机。尝试使用带引号的 URL 重新添加遥控器(尽管我从未见过需要您引用冒号的 shell...)。
      • 你能把.git/config的内容贴出来吗? (编辑问题并将其添加到那里更容易)
      • @ Jefromi:它仍然回复'远程源已经存在'@zetetic:如果我输入 git config -l,输出是 'user.name=Ross user.email=ross.jett@ gmail.com core.editor=gvim -f core.repositoryformatversion=0 core.filemode=true core.bare=false core.logallrefupdates=true remote.origin.url=git@github.com: remote.origin.fetch=+refs /heads/*:refs/remotes/origin/* '
      猜你喜欢
      • 2016-05-24
      • 2012-08-15
      • 2012-04-21
      • 1970-01-01
      • 2013-10-26
      • 2021-04-13
      • 2012-09-09
      • 2016-04-08
      • 2015-12-08
      相关资源
      最近更新 更多