无法推送到Github,无法生成sh:没有这样的文件或目录

时间:2014-03-24 19:55:34

标签: git github

我很难推到Github ..我有一个克隆的存储库,我已经对它进行了更改,我想要回到github。

在存储库中,我执行以下操作:

git add *

这似乎有效,因为我没有回应,然后当我这样做时:

git commit -m "test"

我收到回复:

On branch Will_branch
nothing to commit, working directory clean
我期待的是我的问题开始的地方。

当我这样做时:

git push origin master
git push origin my_branch

我收到错误:

cannot spawn sh: No such file or directory
cannot spawn git: No such file or directory

我经历了这么多指南无济于事。谢谢你的帮助。

6 个答案:

答案 0 :(得分:4)

由于您的仓库中有大量标签,可能会发生这种情况。查看this google-group entrythis questionanother google group entry

基本上,这是msysgit的已知问题,Google群组中的用户建议使用ssh协议作为解决方法:

  1. 卸载Git(这不会卸载您已生成的现有存储库或SSH密钥)
  2. C:\Git
  3. 重新安装git
  4. 打开git bash
  5. 运行此命令:export GIT_SSH=/c/Git/bin/ssh.exe
  6. 此外,您收到的提交响应表明没有提交,请执行git log检查提交是否确实发生。


    这个msysgit ticket中提到的另一个原因可能是您的Environment变量中存在空格。将msysgit等的安装移至C:而不是C:\Program Files可能会解决此问题。

答案 1 :(得分:2)

我在IntelliJ IDE中遇到了同样的问题,对我有用的是将Git存储库的访问权限从私有更改为公共。

答案 2 :(得分:0)

所提供的解决方案对我不起作用,我要做的是用一件事重要的方法重新安装Git:确保在安装过程中选择“ Attribute .sh files to git”,现在看来一切都很好。

答案 3 :(得分:0)

尝试从gitlab上的私有存储库克隆时,Windows 10上的CLion存在相同的问题。但是,当我将git二进制路径(对我来说是C:\Program Files\Git\bin添加到PATH变量时,该错误无需重新安装就消失了。

答案 4 :(得分:0)

我尝试使用PowerShell或外部终端,而不是使用WebStorm的终端,它为我工作。 对我来说,问题在于将git代码部署到Github页面时。构建成功,但是由于上述错误,部署到gh页失败。

答案 5 :(得分:0)

我执行了以下步骤并且成功了:

我删除了 .git 文件夹 我从 c:/program 文件中卸载了 git 我也卸载了 git bash 现在安装 git 和 git bash 初始化的 git 我使用以下命令进行了检查并且它有效:

git checkout -b vettal // created a new branch 
git push origin vettal // and then made a push

感谢您通过 stackoverflow 中的各种问题提供的所有帮助!