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

10
我在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

我浏览了很多指南,但都没有结果..感谢任何帮助。

你为什么要执行 git push origin master/my_branch 而不是 git push origin master:my_branch - Anshul Goyal
抱歉,我表达不够清晰。我的意思是我曾经分别尝试在主分支和我的分支上进行操作。 - Will Nasby
我希望这不是由于您的存储库中有大量标签而发生的。请查看此链接:thisthisthis - Anshul Goyal
此外,您收到的提交响应表明没有提交任何内容,请执行 git log 命令检查提交是否实际发生。 - Anshul Goyal
我本来想的,但在寻找解决方案的过程中删除了repo,现在当我尝试克隆repo时,进度停在了9%... - Will Nasby
显示剩余5条评论
10个回答

7
这可能是由于您的存储库中有大量标签而导致的。查看此google-group条目这个问题以及另一个google group条目
基本上,这是 msysgit 的已知问题,用户在 Google Group 上建议使用 SSH 协议作为解决方法:
  1. 卸载 Git(这不会卸载您现有的存储库或生成的 SSH 密钥)
  2. 重新安装 git 到 C:\Git
  3. 打开 git bash
  4. 运行此命令:export GIT_SSH=/c/Git/bin/ssh.exe
另外,您得到的提交响应表明没有提交任何内容,请运行 git log 检查提交是否实际发生。
如此msysgit票务所述,另一个原因可能是您的环境变量中存在空格。将 msysgit 的安装等移动到 C: 而不是 C:\Program Files 可能会解决问题。

5
提供的解决方案对我没有用,我必须重新安装Git,并确保在安装过程中选择“将.sh文件属性归属于Git”,现在一切似乎都很好。

1
是的..我不得不卸载Git并重新安装它,确保选择了“将.sh文件归属性于git”。然后我不得不关闭一切并重新启动我的电脑。问题解决了!非常感谢。 - Marty McGee

3

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


3
我用 Git Bash 替代 Windows 命令提示符进行 git push,问题得到了解决。

2

我在IntelliJ IDE中遇到了同样的问题,解决方法是将Git仓库的访问权限从私有改为公共。


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

0

对我来说,我不拉取或推送。它在vs code终端(git、cmd、powershell)中显示错误。然而,我成功地从git bash工具中拉取了代码。我想我应该通过git bash工具关闭并重新打开我的vs code。哇,它奏效了。

cd your_sourcecode_folder
code .

0

我按照以下步骤操作,成功解决了问题:

1. 删除 .git 文件夹 2. 在 c:/program files 中卸载 git 3. 卸载 git bash 4. 重新安装 git 和 git bash 5. 初始化 git 6. 使用以下命令检查,一切正常:

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

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


0

当我尝试从我的VsCode终端将代码推送到GitHub时,我遇到了这个错误。然后我使用gitbash终端来推送我的代码,这对我起作用了。


0

我曾经遇到过同样的问题!尝试了几次解决,但都没有成功,让我感到相当紧张!

只需要

  • 在C:\Git安装git

在我的情况下,我遇到了C盘内存问题,决定将所有程序安装在D盘。对于git,它工作了相当长的一段时间!即使你在D盘重新安装,它也不起作用。我不得不在C盘安装。现在,它似乎可以工作了,希望如此!


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接