web-dev-qa-db-fra.com

TortoiseGit trouble: git n'est pas sorti proprement (code de sortie 128)

Voici un peu de fond:

  1. Je lance Win7
  2. J'ai git repo privé et installé Github pour Windows
  3. Je n'ai pas aimé le client Github pour Windows (manque de fonctionnalités). J'ai installé TortoiseGit pour Windows (conserve toujours Github pour Windows)
  4. J'ai suivi les étapes ici exactement http://dancingmonkeysaccelerated.blogspot.com/2012/03/git-for-windows-with-tortoisegit-and.html
  5. Je peux obtenir le journal et commettre local

enter image description here

  1. Puis je pousse

enter image description here

  1. Cependant, il a donné une erreur git did not exit cleanly (exit code 128) 

enter image description here

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?

6
HP.

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.

0
HP.

Réponse générique

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").


Réponse pour le cas de la publication initiale de Stackoverflow

La réponse suivante est basée sur le fait que git.exe a été exécuté pour exécuter un Push.

Utiliser TortoiseGit avec SSH

Ici, il faut différencier OpenSSH et PuTTY. (Voir https://tortoisegit.org/docs/tortoisegit/tgit-dug-settings.html#tgit-dug-settings-network )

OpenSSH

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.

Mastic

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):

  1. 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.

  2. 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

Si cela ne vous aide pas

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.

2
MrTux

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.

1
roadrunner

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é!

0
Sujit

Je vais ici:Panneau de configuration -> Gestionnaire d'informations d'identification

 enter image description here

et supprimer ou modifier votre mot de passe.

0
Morteza Pouladi