Cygwin git pull 不是一个命令

Cygwin git pull 不是一个命令

突然,git pull 在 cygwin 上停止工作。它给了我这个递归错误消息。

git: 'pull' is not a git command. See 'git --help'.

Did you mean this?
        pull

我可以执行 git status 和其他 git 命令,但出于某种原因,pull 无法工作。在此之前,它已经工作了很长时间。重启后我遇到了这个问题。我尝试过彻底修复并完全重新安装 cygwin,但仍然遇到同样的问题。我的路径似乎没问题。

$ type -a git
git is /usr/bin/git
git is /bin/git

更多信息:git 命令的可执行文件似乎位于 /usr/lib/git-core 下,而 git-pull 是一个没有扩展名和 !/bin/sh 标头的 shell 脚本。

答案1

您可以你的 cygwin 路径中缺少一个目录


将以下行添加到您的 ~/.bashrc:

export GIT_EXEC_PATH=/opt/local/libexec/git-core
$PATH=/opt/local/libexec/git-core:$PATH
export PATH

答案2

出现此问题的原因是 Windows Update 已安装更新,并且需要重新启动。我认为 git pull 试图利用 Windows 已通过更新替换的某个库或其他文件。

我尝试从 /usr/libexec/git-core 文件夹手动运行 git.exe,并从 Windows 收到 0xC0000056 错误代码,这意味着 STATUS_DELETE_PENDING。谷歌搜索后,我的答案是需要重新启动。

重启后,git pull正常工作。

tl;dr 如果您遇到类似 OP 的错误,请尝试手动运行 git.exe 并搜索导致错误的解决方案。

答案3

您是否安装了 Perl,并且运行了防病毒软件?

尝试安装 Perl 并暂时禁用防病毒软件。

答案4

解决此问题的最简单方法是通过 cygwin setup.exe 重新安装 git

我遇到了同样的问题,并且没有通过 cygwin 设置安装 git,因此路径和环境变量没有连接。

通过安装程序安装它解决了问题。

相关内容