J'ai du mal à faire fonctionner Github (+ Netbeans au travail).
Je souhaite utiliser ssh avec git (sous Windows 7) pour, par exemple, valider ou cloner un projet, mais je continue à recevoir ce message d'erreur:
$ 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
Note: Pour l'instant, ma variable d'environnement GIT_SSH
pointe vers C:\Program Files (x86)\Git\bin\ssh.exe
, mais j'ai aussi essayé C:\Program Files (x86)\Git\bin
, en l'effaçant complètement, en pointant sur le dossier/plink de PuTTY et en pointant sur leurs exécutables, mais toujours le même message.
Lorsque je teste la connexion, tout fonctionne bien:
$ ssh -T [email protected]
Hi USER! You've successfully authenticated, but GitHub does not provide Shell access.
Qu'est-ce que je fais mal? Cela fait-il une différence si je fais le git init
dans le répertoire en premier lieu?
MODIFIER:
Cela n'a pas aidé:
mettre GIT_SSH
à plink.exe
et ajouter le chemin de plink à PATH
** EDIT 2 **
résultat de la commande avec 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
C’est vraiment embarrassant, mais le vrai problème était avec mon pare-feu Comodo Firewall
qui empêchait la connexion ssh d’être initialisée par git
.
Je peux sans aucun problème me connecter via ssh, par exemple. L'utilisation de la ligne de commande ou de PuTTY, mais d'une manière ou d'une autre Comodo
était à l'origine de ce problème étrange.
Merci à tous pour votre soutien!
Dans mon cas, régler GIT_SSH sur:
GIT_SSH =/c/Program\Files\(x86) /Git/bin/ssh.exe
travaillé dans git bash.
Aucune des réponses jusqu'ici n'a fonctionné pour moi. Ce qui a fini par résoudre ce problème pour moi a été de supprimer les guillemets de ma variable GIT_SSH
et de ne pas échapper à aucun caractère, pas de style de chemin MSYS (par exemple, /c/path\ to\ PuTTY/plink.exe
). Il suffit d'entrer le chemin normalement, Git gère la citation.
set GIT_SSH=C:\path to PuTTY\plink.exe
C'est tout. Lorsque vous utilisez GIT_TRACE, vous pouvez voir que la variable est citée dans la commande résultante de la manière suivante:
les doubles guillemets ajoutés changent la chaîne transmise à la commande et
le chemin est entouré de guillemets simples, les espaces sont donc corrects.
J'espère que ça aide quelqu'un.
Avez-vous essayé d'installer ssh.exe sur un chemin ne contenant pas d'espaces? Et avez-vous testé la possibilité de citer des barres obliques inverses (\\
)?
Vous pouvez également essayer GIT_TRACE=2 git clone <...>
, il devrait vous montrer la commande et les paramètres que git tente de lancer pour se connecter.
je pense qu'un chemin (ex: C:\Program Files (x86)\Git) ayant un espace vide ne peut donc pas être reconnu.
pour le résoudre
faire un lien simple pour raccourcir le chemin
mklink/d "C:/Git" "C:\Fichiers de programme (x86)\Git"
cela fonctionne pour moi et aussi pour Jenkins (si vous l'utilisez avec le plugin Git)
%GIT_SSH%\bin
À moins que vous n'ayez une interaction antivirus obscure, le seul autre cas (à l'exception de numéro 313 auquel vous faites référence) où ce message d'erreur est visible est:
" erreur: impossible de générer git: aucun fichier ou répertoire de ce type "
si jamais vous obtenez cette erreur "
error: cannot spawn git: No such file or directory
" c'est un problème vraiment méchant.
Il m'a fallu une journée pour le retrouver, mais si vous avez plus de 500 balises dans un référentiel, il faut que certaines limites internes soient dépassées.
TLDR: si vous obtenez cette erreur, supprimez un tas de vos tags.
Sur mon installation Windows git bash par défaut de Windows 7, je devais configurer GIT_SSH pour:
"C:\\Program Files (x86)\\Git\\bin\\ssh.exe"
Il suffit donc de trouver le fichier ssh.exe fourni avec l’installation de Git et de mettre à jour ce qui précède avec le répertoire correct.
Pour que cela persiste à chaque fois que vous exécutez git bash, ajoutez simplement votre répertoire personnel dans le fichier .bashrc comme ceci:
export GIT_SSH="C:\\Program Files (x86)\\Git\\bin\\ssh.exe"
Je recevais constamment l'erreur
erreur: impossible de générer "C:\Plink.exe": Aucun fichier ou répertoire de ce type fatal: incapable de fourcher
en faisant git Push
et git pull
. Je l'ai résolu en allant dans le fichier .git/config et en changeant
url = [email protected]:<USER>/<REPO>.git
à
url = https://github.com/<USER>/<REPO>
J'espère que cela t'aides!