307 votes

TortoiseGit enregistre l'authentification / les informations d'identification de l'utilisateur

Y a-t-il un moyen d'enregistrer GITHUB's user credentials avec TortoiseGit ?

Le dialogue ci-dessous s'affiche à chaque fois que je fais un push/pull.

Je voudrais enregistrer mes informations d'identification d'utilisateur quelque part comme je l'ai fait avec TortoiseSVN.

enter image description here

1 votes

0 votes

Vous pouvez également utiliser Credential Manager pour enregistrer/gérer les informations d'identification. stackoverflow.com/a/31782500/730676

380voto

linquize Points 5418

Pour TortoiseGit 1.8.1.2 ou plus, il y a une interface graphique pour activer/désactiver l'aide à l'accréditation.

Il prend en charge git-credential-wincred et git-credential-winstore .

TortoiseGit 1.8.16 ajoute le support de git-credential-manager (Git Credential Manager, le successeur de git-credential-winstore )

Lors de la première synchronisation, l'utilisateur et le mot de passe vous sont demandés. Vous les saisissez et ils sont enregistrés dans la base de données des justificatifs de Windows. L'utilisateur et le mot de passe ne seront plus demandés lors de la prochaine synchronisation.

Pour l'utiliser : Clic droit → TortoiseGit → Paramètres → Git → Credential. Sélectionnez l'aide d'accréditation : wincred - ce référentiel uniquement / wincred - utilisateur Windows actuel.

enter image description here

41 votes

Super. Maintenant, comment je l'utilise ?

17 votes

Clic droit -> TortoiseGit -> Paramètres -> Git -> Credential. Sélectionnez Aide d'accréditation : wincred - this repository only / wincred - current Windows user

2 votes

Puisqu'il ne sauvegarde que le nom d'utilisateur et pas le mot de passe

76voto

Robert Rouhani Points 8317

Si vous allez déclasser cette réponse

J'ai écrit ceci quelques mois avant l'inclusion de git-credential dans TortoiseGit. Compte tenu du nombre de grandes failles de sécurité trouvées au cours des dernières années et de ce que j'ai appris sur la sécurité des réseaux, je vous recommande FORTEMENT d'utiliser une clé SSH unique (minimum 2048 bits RSA) pour chaque serveur auquel vous vous connectez.

La syntaxe ci-dessous est toujours disponible, bien qu'il existe aujourd'hui de bien meilleurs outils tels que git-credential que la réponse acceptée vous indique comment utiliser. Faites-le à la place.


Essayez de changer l'URL distant en https://username@github.com/username/repo.gitusername est votre nom d'utilisateur github et repo est le nom de votre référentiel.

Si vous souhaitez également stocker votre mot de passe (non recommandé), l'URL ressemblerait à ceci : https://username:password@github.com/username/repo.git .

Il y a aussi une autre façon de stocker le mot de passe à partir de cet article d'aide de github : https://help.github.com/articles/set-up-git#password-caching

0 votes

Où puis-je voir l'url à distance ? Dans Settings -> Remote -> Url est vide. Mais j'ai donné l'url git quand j'ai fait le clone la première fois.

2 votes

Cliquez sur "origine" dans le menu à distance pour faire apparaître l'URL.

0 votes

Je pense que cela fonctionne, mais je ne peux pas vérifier car j'obtiens 'git did not exit cleanly (exit code 128)'.

25voto

Patrick Atoon Points 71

Aucune des réponses ci-dessus n'a fonctionné pour moi en utilisant git version 1.8.3.msysgit.0 et TortoiseGit 1.8.4.0.

Dans ma situation particulière, je dois me connecter au dépôt git distant via HTTPS, en utilisant une adresse e-mail complète comme nom d'utilisateur. Dans cette situation, wincred n'a pas semblé fonctionner.

L'utilisation de l'adresse électronique comme partie de l'URL du dépôt ne fonctionne pas non plus, car le logiciel semble être perturbé par la double apparition du caractère "@" dans l'URL.

J'ai réussi à surmonter le problème en utilisant winstore . Voici ce que j'ai fait :

Cela copiera le git-credential-winstore.exe dans un répertoire local et ajoutez deux lignes à votre fichier global .gitconfig . Vous pouvez le vérifier en examinant votre fichier global .gitconfig . C'est plus facile à faire en cliquant avec le bouton droit de la souris sur un dossier, "TortoiseGit > Settings > Git > Edit global .gitconfig". Le fichier devrait contenir deux lignes comme :

    [credential]
        helper = !'C:\\Users\\yourlogin\\AppData\\Roaming\\GitCredStore\\git-credential-winstore.exe'
  • Aucun autre paramètre de TortoiseGit n'est nécessaire sous " Réseau " ou " Créance ". En particulier : le menu déroulant "Aide d'accréditation" sous "Accréditation" sera devenu vide à la suite de ces lignes de configuration, puisque TortoiseGit ne reconnaît pas la nouvelle aide. Ne mettez pas le menu déroulant à une autre valeur ou le fichier global .gitconfig sera écrasé avec une valeur incorrecte ! (*)

Vous êtes maintenant prêt à partir :

  • Essayez de tirer depuis le dépôt distant. Vous remarquerez une popup d'authentification demandant votre nom d'utilisateur et votre mot de passe, la popup devrait être visuellement différente de la popup par défaut de TortoiseGit. C'est un bon signe et signifie winstore travaux. Entrez l'authentification correcte et l'extraction devrait réussir.
  • Essayez à nouveau le même tirage, et votre nom d'utilisateur et votre mot de passe ne devraient plus vous être demandés.

C'est fait ! Profitez de vos interactions avec le repo distant pendant que winstore se charge de l'authentification.

(*) Alternativement, si vous n'aimez pas la sélection vide dans le menu déroulant de l'aide aux paramètres de TortoiseGit Credential, vous pouvez utiliser l'option "Avancé" :

  • Allez dans "TortoiseGit > Paramètres > Créances".

  • Sélectionnez l'aide d'accréditation "Avancé".

  • Cliquez sur le "G" (pour global) sous "Helpers".

  • Entrez le chemin d'accès de l'Helper comme ci-dessous. Note : une notation régulière du chemin d'accès de Windows (par exemple, " C:\Users... ") ne fonctionnera pas ici, vous devez répliquer la ligne exacte qui installe winstore créé dans le global .gitconf sans l'élément "helper =".

    !'C:\\Users\\yourlogin\\AppData\\Roaming\\GitCredStore\\git-credential-winstore.exe'
  • Cliquez sur le bouton "Ajouter nouveau/enregistrer".

1 votes

Vous m'avez indiqué la bonne direction. J'avais juste besoin d'utiliser "wincred - current Windows user" et d'entrer le nom d'utilisateur PAS l'adresse e-mail. Cela a tout résolu.

0 votes

Je suis heureux que cela vous ait aidé à être sur la bonne voie ! Toutefois, dans mon cas, le problème concerne précisément l'utilisation d'une adresse électronique. Celle-ci contient un "@" et posera des problèmes si vous essayez l'une des autres recettes.

2 votes

Um, %40 est le code pour '@' donc si vous avez essayé ' myEmail%40gmail.com@github.com/username/repo.git Vous pourrez mettre votre adresse électronique dans le fichier .config. Ce n'est toujours pas recommandé, mais c'est possible.

9voto

linquize Points 5418

Pour msysgit 1.8.0, télécharger git-credential-wincred.exe à partir de https://github.com/downloads/msysgit/git/git-credential-wincred.zip et mis dans C:\Program Fichiers \Git\libexec\git -core

Pour msysgit 1.8.1 et plus, l'exe est intégré.

dans git config, ajoutez les paramètres suivants.

[credential] helper = wincred

0 votes

Où avez-vous trouvé Tortoise Git 1.8.1.2 ? Je ne vois que la version 1.8.1.0 sur leur site.

0 votes

TortoiseGit 1.8.1.2 est une version d'aperçu.

8voto

Anthony Keane Points 366

Sauvegarde du nom d'utilisateur et du mot de passe avec TortoiseGit

Sauvegarder vos détails de connexion dans TortoiseGit est assez facile. Cela évite d'avoir à taper votre nom d'utilisateur et votre mot de passe à chaque fois que vous faites un pull ou un push.

  1. Créez un fichier appelé _netrc avec le contenu suivant :

    machine github.com
    login votrelogin
    mot de passe votremot de passe

  2. Copiez le fichier dans C:\Users\ (ou un autre endroit ; il se trouve que c'est ici que je l'ai mis)

  3. Allez à l'invite de commande, tapez setx home C:\Users\

Remarque : si vous utilisez une version antérieure à Windows 7, la commande setx peut ne pas fonctionner pour vous. Utilisez plutôt set et ajoutez la variable d'environnement home à Windows via les paramètres avancés sous Poste de travail.

CRÉDIT À : http://www.munsplace.com/blog/2012/07/27/saving-username-and-password-with-tortoisegit/

2 votes

C'est la meilleure solution ! Mais pouvez-vous expliquer la relation entre le fichier _netrc et git ? Ce fichier peut-il stocker plus d'un royaume ?

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X