Voici un peu de fond:
git did not exit cleanly (exit code 128)
Je lis ce fil:
Comment résoudre l'erreur "git n'a pas quitté proprement (code de sortie 128)" sur TortoiseGit?
Et réellement changé la clé SSH en exécutant Puttygen TROIS FOIS déjà. J'ai également défini une autorisation complète pour les utilisateurs du dossier. Rien ne fonctionne!!
Voici ce que je vois dans Environment Path
PATH = (autres); C:\Utilisateurs\myusername\AppData\Local\GitHub\PortableGit_93e8418133eb85e81a81e5e19c272776524496c6\libexec\git-core;
GIT_SSH = C:\Program Files\TortoiseGit\bin\TortoiseGitPLink.exe
SVN_SSH = C:\Program Files\TortoiseGit\bin\TortoiseGitPLink.exe
SSH_ASKPASS = C:\Programmes\TortoiseGit\bin\SshAskPass.exe
GIT_ASKPASS = C:\Program Files\TortoiseGit\bin\SshAskPass.exe
Cependant: si j'utilise Github for Windows
cela fonctionne bien.
Est-ce que quelqu'un peut m'indiquer une direction pour résoudre ce problème de TortoiseGit?
Je pense avoir trouvé une meilleure alternative à Windows: http://www.syntevo.com/smartgithg/index.html
Cela a fonctionné jusqu'à présent. Mais je préfère toujours TortoiseGit si je peux le faire fonctionner.
Chaque fois que git.exe
est exécuté, il renvoie un code de sortie (cf. git renvoie-t-il des codes d'erreur de retour spécifiques? ). Un code de sortie de 0
indique un succès. Dans le message StackOverflow, le code de sortie 128 est mentionné, ce qui indique une erreur. Le code de sortie 128 est en quelque sorte une "erreur inattendue" (cf. https://stackoverflow.com/a/8059956/3906760 ). Ce que cela signifie dépend fortement de la commande git exécutée et du résultat généré. Par conséquent, il ne peut y avoir une seule réponse simple et rapide sur la façon de résoudre ce problème.
Le post suivant contient une réponse spécifique liée au cas Push et à la fin une réponse plus générique (section "Si cela ne résout pas le problème").
La réponse suivante est basée sur le fait que git.exe a été exécuté pour exécuter un Push.
Ici, il faut différencier OpenSSH et PuTTY. (Voir https://tortoisegit.org/docs/tortoisegit/tgit-dug-settings.html#tgit-dug-settings-network )
Pour utiliser OpenSSH, vous devez définir ssh.exe
en tant que "client SSH" dans les paramètres TortoiseGit -> Réseau. OpenSSH utilise par défaut les fichiers %HOME%/.ssh/id_rsa(.pub)
pour leurs clés publique/privée, qui doivent être créées par OpenSSH ssh-keygen
et non par PuTTYGen (les clés PuTTY ont un format différent, mais peuvent également être converties à l'aide de PuTTYGen). Si %HOME%
n'est pas défini, TortoiseGit le définira automatiquement. Si vous définissez manuellement %HOME%
, assurez-vous qu'il est valide (vous devrez peut-être utiliser des barres obliques au lieu des barres obliques inverses).
Ceci est recommandé aux personnes disposant déjà de leurs clés OpenSSH.
PuTTY, qui doit être privilégié sous Windows, nécessite que les clés publiques/privées soient créées à l'aide de PuTTYGen (fourni avec TortoiseGit). TortoiseGitPlink.exe
doit être sélectionné en tant que client ssh dans les paramètres TortoiseGit -> Réseau - ce doit être la valeur par défaut. Cependant, il n'y a pas d'endroit par défaut pour les clés publiques/privées et, par conséquent, ces doivent être configurés . Il y a (au moins deux façons de le faire):
Configurez votre clé pour qu'elle soit la clé par défaut dans les applications PuTTY. Pour cela, ouvrez PuTTY (qui n'est pas livré avec TortoiseGit et doit être téléchargé séparément). Ensuite, allez à la page de configuration Connection-> SSH-> Auth et sélectionnez votre fichier .ppk comme "Clé privée pour authentification", revenez à la page de configuration "Session", sélectionnez "Paramètres par défaut" et cliquez sur Enregistrer. -> Désormais, PuTTY et PLink utiliseront cette clé pour s’authentifier.
Pour que TortoiseGit charge une clé privée à utiliser avec PuTTY, il faut la configurer. Pour un référentiel existant: Choisissez un référentiel, ouvrez les paramètres TortoiseGit -> Distant et sélectionnez la configuration de votre référentiel distant à cet emplacement (normalement "Origine"). Ensuite, sélectionnez votre clé privée .ppk et cliquez sur "Ajouter un nouveau/Enregistrer". Pour un nouveau référentiel la clé peut être sélectionnée pendant le clonage. Lorsque vous appuyez/tirez , assurez-vous que "Autoload PuTTY key" est coché.
Plus de conseils/astuces pour utiliser PuTTY: https://tortoisegit.org/docs/tortoisegit/tgit-ssh-howto.html
Tout d’abord, nous devons nous assurer que le bon git.exe
est appelé - normalement, cela devrait être le cas puisque TortoiseGit s’efforce de trouver le git.exe
correct sur le système lors du premier démarrage. Cela peut être facilement fait en allant dans les paramètres TortoiseGit -> Général. Il faut vérifier si "git.exe Path" pointe vers le bon dossier de "Git pour Windows" (dans doit pointer vers le dossier bin de l'installation de Git pour Windows, pas le dossier cmd - mais cela devrait se produire automatiquement) - si msysgit (la version de développement de "Git pour Windows") est utilisé, il est nécessaire que le [MSYSGIT-INSTALL-PATH]\mingw\bin-folder
soit sur le chemin (c’est-à-dire entré dans la zone de texte Extern DLL Path) pour pouvoir exécuter git.exe (sinon Requiert les fichiers .dll) est introuvable. (Voir https://tortoisegit.org/docs/tortoisegit/tgit-dug-settings.html )
Maintenant, cliquez sur "Vérifier maintenant" et vérifiez que le bon numéro de version apparaît à côté du bouton (pas de message d'erreur). Si cela fonctionne, git.exe
doit être configuré correctement et fonctionner avec https.
J'avais ce même problème et je l'ai résolu de la manière suivante ...
J'ai le NVIDIA "Tegra Android Development Pack" installé et il semble aussi avoir une version de mysysgit.exe. TortoiseGit a automatiquement trouvé cet emplacement d'installation (au lieu de l'installation standard de git) et l'a automatiquement renseigné dans le menu des paramètres.
Pour corriger cela, allez à: "Paramètres -> Général" et il y a un champ pour le chemin d'accès à mysysgit.exe. Assurez-vous que cela pointe vers la bonne installation.
Dans mon cas, j’ai commis ce crime (victime de non-sortie-proprement) de Git Bash. Et essayé le prochain commit de Tortoise, qui a fonctionné!