【问题标题】:Git push origin master returns Error cannot spawn ... why?Git push origin master 返回错误不能产生...为什么?
【发布时间】:2011-03-07 01:37:37
【问题描述】:

我第一次尝试使用 GitHub,但在尝试获得正确身份验证的许多问题之后,我设法通过 git@github.com 进行身份验证并创建了一个 repo,但是当我尝试“git push origin master”我收到以下错误:

$ git push origin master
error: cannot spawn : No such file or directory
fatal: unable to fork

我在故障排除页面中找不到任何错误原因或任何解释,谁能建议我为什么会收到该错误。

我已经指定/添加了远程路径如下:

$ git remote add origin git@github.com:christopherdebeer/yUML-Diagram.git

请帮忙。

这一切都在运行 mysysgit (1.7.0.2) 并使用 git bash 的 Windows 7 机器上。

re:Issue 313,GIT_SSH变量中的一个空格,不能是我的问题如下:

$GIT_SSH="c:/putty/plink.exe"

【问题讨论】:

    标签: git windows-7 github msysgit


    【解决方案1】:

    这让我想起了issue 313,其中GIT_SSH 环境变量在其路径中包含空格。

    除此之外,您是否关注GitHub Help page 并检查您的 ssh 连接是否有效?

    $ ssh git@github.com
    The authenticity of host 'github.com (207.97.227.239)' can't be established.
    RSA key fingerprint is 16:27:ac:a5:76:28:2d:36:63:1b:56:4d:eb:df:a6:48.
    Are you sure you want to continue connecting (yes/no)? yes
    Warning: Permanently added 'github.com,207.97.227.239' (RSA) to the list of known hosts.
    ERROR: Hi tekkub! You've successfully authenticated, but GitHub does not provide shell access
    Connection to github.com closed.
    

    【讨论】:

    • 是的,我确实检查了我的 ssh 是否正常工作。根据 GitHub 帮助页面,并收到消息:“您好 christopherdebeer!您已成功通过身份验证,但 GitHub 不提供 shell 访问”我将查看“问题 313”...
    • 不,它肯定不是问题 313,我的 $GIT_SSH 设置为“c:/putty/plink.exe”
    • @Christopher:不使用GIT_SSH 和plink.exe 怎么样?我没有(在我的 Windows7 msysgit 安装上)并且推送就好了。顺便问一下,你用的是什么版本的 msysgit?
    • @VonC 我试试看,我用的是 1.7.0.2 mysysgit
    • @Christopher:那您可以尝试将远程地址从 git 协议更改为 https 协议,利用 GitHub 提出的智能 http 实现吗?见stackoverflow.com/questions/2949128/git-push-problem-argh/…
    【解决方案2】:

    我不确定这是否只是我自己的愚蠢,但我已经解决了这个问题...... 这是我所做的(来自建议,来自同事):

    我试图将本地仓库中的更改推送到 github 上的空仓库...

    我应该做的是克隆空仓库,将文件本地添加到我克隆的仓库,添加文件,提交添加,然后推送到 github 仓库...

    $ git clone git@github.com:christopherdebeer/yUML-Diagram.git
     // added files
    $ git add *
    $ git commit -m "first commit locally"
    $ git push origin master
    

    我最初的问题可能是由于我对 gits 的使用完全天真...

    【讨论】:

    • 我从一位同事那里得到的建议,(他根本不使用 git,但使用 svn)......当我提到我的问题时,他建议克隆空的 repo......好像它是常见的做法(如果不是 svn)那么至少对他来说。
    • 这很奇怪,你说这是不可能的......因为它肯定对我有用。
    • @VonC:Git 1.6.2 及更高版本可以“克隆”空存储库(即设置远程和本地主分支,最终将跟踪远程主分支)。
    【解决方案3】:

    我不确定这是否只是一个 smartgit 问题,但是当该程序中发生这种情况时,它实际上是临时文件夹的权限问题。似乎 Windows 7 和 8 偶尔会重置临时目录的权限,您需要将它们改回完全读写权限。

    【讨论】:

      【解决方案4】:

      我有同样的问题。 我将远程链接更改为:

      git@github.com:Prathapnagaraj/trydjango18.git
      

      到网址链接:

      https://github.com/Prathapnagaraj/trydjango18
      

      然后它工作正常。

      【讨论】:

      • 如果您主要使用 SSH,这远非最佳。
      【解决方案5】:

      先拉,再推。似乎有时您的本地仓库会变得“陈旧”。当我一周左右没有推动或拉动任何东西时,我需要拉动(即使没有任何变化,因为我是唯一一个从事该回购工作的人)。

      【讨论】:

        猜你喜欢
        • 2012-09-09
        • 2012-09-21
        • 1970-01-01
        • 2011-08-07
        • 2018-07-30
        • 2011-07-13
        • 2015-07-03
        • 1970-01-01
        • 2021-07-14
        相关资源
        最近更新 更多