
突然間 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,因此路徑和環境變數沒有連接。
透過安裝程式安裝它解決了問題。