Github(+ Netbeansが動作する)を取得するのに苦労しています。
プロジェクトをコミットまたは複製するためにsshをgit(Windows 7)で使用したいのですが、次のエラーメッセージが表示され続けます。
_$ git clone [email protected]:USER/PROJECTNAME.git
error: cannot spawn C:\Program Files (x86)\Git\bin\ssh.exe: No such file or directory
fatal: unable to fork
_
注:今のところ、_GIT_SSH
_環境変数はC:\Program Files (x86)\Git\bin\ssh.exe
を指していますが、C:\Program Files (x86)\Git\bin
も消去して消去していますそれは完全に、PuTTYの/ plinkのフォルダーを指し、それらの実行可能ファイルを指しますが、それでも同じメッセージです。
接続をテストすると、すべて正常に動作します。
_$ ssh -T [email protected]
Hi USER! You've successfully authenticated, but GitHub does not provide Shell access.
_
何が悪いのですか?最初にディレクトリで_git init
_を実行すると、違いがありますか?
[〜#〜]編集[〜#〜]:
これは助けにはなりませんでした:
_GIT_SSH
_を_plink.exe
_に設定し、plinkのパスをPATH
に追加します
**編集2 **
_GIT_TRACE=2
_を使用したコマンドの結果
_$ GIT_TRACE=2 git clone [email protected]:XXX/AffableBean
trace: built-in: git 'clone' '[email protected]:XXX/AffableBean'
Cloning into 'AffableBean'...
trace: run_command: 'Plink.exe' '-batch' '[email protected]' 'git-upload-pack '\''XXX/AffableBean'\'''
error: cannot spawn Plink.exe: No such file or directory
fatal: unable to fork
_
これは本当に恥ずかしいですが、本当の問題は私のファイアウォールでしたComodo Firewall
は、ssh接続がgit
によって初期化されるのを何らかの方法でブロックしていました。
問題なくssh経由で接続できます。コマンドラインまたはPuTTYを使用していますが、どういうわけかComodo
がこの奇妙な問題を引き起こしていました。
みんな応援ありがとう!
私の場合、GIT_SSHを次のように設定します。
GIT_SSH =/c/Program\Files \(x86)/Git/bin/ssh.exe
git bashで動作しました。
これまでのところ、どの答えも私にとってうまくいきませんでした。最終的にこの問題を解決したのは、私のGIT_SSH
変数であり、文字をエスケープしない、MSYSパススタイルなし(例:/c/path\ to\ PuTTY/plink.exe
)。通常のパスを入力するだけで、Gitが引用を処理します。
set GIT_SSH=C:\path to PuTTY\plink.exe
それでおしまい。 GIT_TRACEを使用すると、結果のコマンドで変数が引用符で囲まれていることがわかります。
追加された二重引用符は、コマンドに渡される文字列を変更し、
パスは一重引用符で囲まれているため、スペースは問題ありません。
それが誰かを助けることを願っています。
スペースを含まないパスにssh.exeをインストールしてみましたか?また、バックスラッシュの引用が機能するかどうかをテストしましたか(\\
)?
GIT_TRACE=2 git clone <...>
、gitが接続のために実行しようとしているコマンドとパラメーターが表示されます。
パス(例:C:\ Program Files(x86)\ Git)に空白スペースがあるため、認識できないと思います。
それを解決する
パスを短くするための簡単なリンクを作成する
mklink/d "C:/ Git" "C:\ Program Files(x86)\ Git"
私とJenkins(Gitプラグインで使用する場合)でも機能します
%GIT_SSH%\bin
に設定します私の場合、CMD端末でディレクトリジャンクションを作成し、GIT_SSHをリセットすることで、この問題を解決できました。
Git BashターミナルでこのWindows CMDコマンドを実行して、sshコマンドのパスを見つけます。
$ where ssh
C:\Program Files\Git\usr\bin\ssh.exe
CMDターミナルで、元のGitディレクトリの空白なしのジャンクションを作成します。
mklink /J \git "\Program Files\Git"
次に、GIT_SSH環境変数を編集して、ジャンクションを使用します。 Windows 7の場合、[コントロールパネル]> [システムとセキュリティ]> [システム]> [システムの詳細設定]。
C:\git\usr\bin\ssh.exe
PuTTYの使用をOpenSSHに切り替えた後、この問題が発生しました。 gitのバージョンは2.21.0.windows.1でした。これがお役に立てば幸いです。
あいまいなウイルス対策の相互作用がない限り、このエラーメッセージが表示される唯一の他のケース(参照している issue 31 以外)は次のとおりです。
" error:cannot spawn git:No such file or directory "
このエラーが発生した場合 "
error: cannot spawn git: No such file or directory
"本当に厄介な問題です。
追跡するのに1日かかりましたが、要約すると、リポジトリに500を超えるタグがある場合、内部のコマンドラインの制限を膨らませる必要があります。
TLDR:このエラーが発生した場合は、一連のタグを削除してください。
私のWindows 7のデフォルトのms git bashインストールでは、GIT_SSHを次のように設定する必要がありました。
"C:\\Program Files (x86)\\Git\\bin\\ssh.exe"
したがって、Gitのインストールで提供されるssh.exeを見つけて、上記を正しいディレクトリで更新してください。
Git bashを実行するたびにこれを永続化するには、.bashrcファイルにホームディレクトリを追加するだけです。
export GIT_SSH="C:\\Program Files (x86)\\Git\\bin\\ssh.exe"
いつもエラーが出ていました
エラー: "C:\ Plink.exe"を生成できません:そのようなファイルまたはディレクトリはありません致命的:フォークできません
git Push
およびgit pull
。 .git/configファイルに移動して変更することで解決しました
url = [email protected]:<USER>/<REPO>.git
に
url = https://github.com/<USER>/<REPO>
お役に立てれば!