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

286

Existe-t-il un moyen d'économiser GITHUB's user credentialsavec TortoiseGit?

Il m'invite la boîte de dialogue ci-dessous à 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.

entrez la description de l'image ici

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

Réponses:

351

Pour TortoiseGit 1.8.1.2 ou version ultérieure, il existe une interface graphique pour activer / désactiver l'aide aux informations d'identification.

Il prend en charge git-credential-wincredet git-credential-winstore.

TortoiseGit 1.8.16 ajoute la prise en charge de git-credential-manager(Git Credential Manager, le successeur de git-credential-winstore)

Pour la première fois que vous synchronisez, un utilisateur et un mot de passe vous sont demandés, vous les entrez et ils seront enregistrés dans le magasin d'informations d'identification Windows. Il ne demandera pas d'utilisateur ou de mot de passe lors de la prochaine synchronisation.

Pour utiliser: clic droit → TortoiseGit → Paramètres → Git → Informations d'identification. Sélectionnez Aide d'identification: wincred - ce référentiel uniquement / wincred - utilisateur Windows actuel

entrez la description de l'image ici

linquize
la source
40
Soigné. Maintenant, comment dois-je l'utiliser?
BlueRaja - Danny Pflughoeft
16
Clic droit -> TortoiseGit -> Paramètres -> Git -> Informations d'identification. Sélectionnez wincred - this repository onlywincred - current Windows user
Aide d'
33
Non, vous devez d'abord activer l'assistant d'informations d'identification. Pour la première fois que vous synchronisez, vous êtes invité à saisir un utilisateur et un mot de passe, vous les entrez et ils seront enregistrés dans le magasin d'informations d'identification Windows. Il ne demandera pas d'utilisateur ou de mot de passe lors de la prochaine synchronisation.
Linquize
7
Remarque: cela ne fonctionnera pas si votre nom d'utilisateur contient un @! Au moins pour moi, c'est aussi un bug signalé: github.com/msysgit/msysgit/issues/258
OschtärEi
5
Pour TortoiseGit 1.8.16 et supérieur, installez Git Credential Manager pour Windows - github.com/Microsoft/Git-Credential-Manager-for-Windows - puis suivez les instructions ci-dessus. GCM gère également les crédits pour git dans Cygwin / babun, ce qui est bien.
DrStrangepork
68

Si vous allez voter contre cette réponse

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

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


Essayez de changer l'URL distante en https://[email protected]/username/repo.gitoù se usernametrouve votre nom d'utilisateur github et repole nom de votre référentiel.

Si vous souhaitez également enregistrer votre mot de passe (non recommandé), l'URL ressemblerait à ceci: https://username:[email protected]/username/repo.git.

Il existe également une autre façon de stocker le mot de passe de cet article d'aide github: https://help.github.com/articles/set-up-git#password-caching

Robert Rouhani
la source
Où puis-je voir l'URL à distance? Dans Paramètres -> À distance -> L'URL est vide. Mais j'ai donné l'url de git quand je clone la première fois
Murali Murugesan
2
Cliquez sur "origine" dans le menu à distance pour faire apparaître l'URL
Robert Rouhani
Je pense que cela fonctionne, mais impossible de vérifier car je reçois 'git n'est pas sorti proprement (code de sortie 128)'
Murali Murugesan
oups, tiré l'URL d'un ancien exemple. Un coup d'œil rapide sur l'un de mes dépôts montre que l'URL devrait être: https://[email protected]/username/repo.gitoù les deux instances de usernamesont votre nom d'utilisateur. Mis à jour la réponse.
Robert Rouhani
1
Cela a résolu le problème beaucoup plus rapidement et de manière plus simple: stackoverflow.com/questions/8846972/tortoisegit-asking-password
ShloEmi
25

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, wincredne semble pas fonctionner.

L'utilisation de l'adresse e-mail en tant qu'élément de l'URL du dépôt n'a pas fonctionné non plus, car le logiciel semble être dérouté par la double apparence 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.exedans un répertoire local et ajoutera deux lignes à votre global .gitconfig. Vous pouvez le vérifier en examinant votre global .gitconfig. Ceci est plus facile à faire via le bouton droit de la souris sur un dossier, "TortoiseGit> Paramètres> Git> Modifier le .gitconfig global". Le fichier doit contenir deux lignes comme:

    [credential]
        helper = !'C:\\Users\\yourlogin\\AppData\\Roaming\\GitCredStore\\git-credential-winstore.exe'
  • Aucun autre paramètre TortoiseGit n'est nécessaire sous "Réseau" ou "Credential". En particulier: le menu déroulant "Credential helper" sous "Credential" sera devenu vide à cause de ces lignes de configuration, car TortoiseGit ne reconnaît pas le nouvel assistant. Ne définissez pas le menu déroulant sur une autre valeur ou le .gitconfig global sera remplacé par une valeur incorrecte! (*)

Vous êtes maintenant prêt à partir:

  • Essayez de tirer du référentiel distant. Vous remarquerez une fenêtre d'authentification demandant votre nom d'utilisateur et votre mot de passe, la fenêtre devrait être visuellement différente de la fenêtre TortoiseGit par défaut. C'est un bon signe et signifie des winstoretravaux. Entrez l'authentification correcte et le pull devrait réussir.
  • Essayez à nouveau la même traction, et votre nom d'utilisateur et votre mot de passe ne devraient plus être demandés.

Terminé! Profitez de vos interactions avec le référentiel distant tout en winstoreprenant soin de l'authentification.

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

  • Allez dans "TortoiseGit> Paramètres> Informations d'identification"
  • Sélectionnez Aide d'identification "Avancé"
  • Cliquez sur le "G" (pour global) sous Helpers
  • Entrez le chemin de l'aide comme ci-dessous. Remarque: une notation de chemin Windows standard (par exemple "C: \ Users ...") ne fonctionnera pas ici, vous devez répliquer la ligne exacte que l'installation a winstorecréée dans le global .gitconfsans le bit "helper =".

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

Patrick Atoon
la source
Tu m'as pointé dans la bonne direction. Juste besoin d'utiliser "wincred - utilisateur Windows actuel" et entrez le nom d'utilisateur PAS l'adresse e-mail. Cela a tout résolu.
Razze
Je suis heureux que cela vous ait aidé sur la bonne voie! Cependant, le point dans mon cas a à voir exactement avec l'utilisation d'une adresse e-mail. Celui-ci contient un "@" et causera des problèmes si vous essayez l'une des autres recettes.
Patrick Atoon
2
Um,% 40 est le code pour '@' donc si vous avez essayé ' myEmail%[email protected]/username/repo.git ' vous pourrez mettre votre adresse e-mail dans le .config Toujours pas recommandé mais, c'est possible.
Tom Padilla
C'est la bonne façon de procéder. Téléchargez le programme d'installation à partir de Microsoft / Git-Credential-Manager-for-Windows / releases , puis cliquez avec le bouton droit sur le setup.exefichier et exécutez en tant qu'administrateur.
8

Pour msysgit 1.8.0, téléchargez git-credential-wincred.exe depuis https://github.com/downloads/msysgit/git/git-credential-wincred.zip et placez-le dans C: \ Program Files \ Git \ libexec \ git -coeur

Pour msysgit 1.8.1 et versions ultérieures, l'exe est intégré.

dans git config, ajoutez les paramètres suivants.

[credential] helper = wincred

linquize
la source
Où avez-vous trouvé Tortoise Git 1.8.1.2? Je ne vois que 1.8.1.0 sur leur site
Ken Sykora
TortoiseGit 1.8.1.2 est une version Preview.
linquize
8

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

L'enregistrement de vos informations de connexion dans TortoiseGit est assez facile. Vous évite d'avoir à taper votre nom d'utilisateur et votre mot de passe chaque fois que vous effectuez un pull ou push.

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

    machine github.com
    connexion votre
    mot de passe de connexion votre mot de passe

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

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

Remarque: si vous utilisez quelque chose de antérieur à Windows 7, la commande setx peut ne pas fonctionner pour vous. Utilisez set à la place et ajoutez la variable d'environnement domestique à Windows à l'aide des paramètres avancés sous Poste de travail.

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

Anthony Keane
la source
2
Celui-là est la meilleure solution! Mais pouvez-vous expliquer la relation entre le fichier _netrc et git? Ce fichier peut-il stocker plusieurs domaines?
Alex Byrth
8

Si vous êtes un utilisateur de Windows 10 + TortoiseGit 2.7:

  1. pour la première connexion, suivez simplement les invites pour entrer vos informations d'identification et enregistrer le mot de passe.
  2. Si vous avez besoin de mettre à jour vos informations d'identification, ne perdez pas votre temps avec les paramètres de TortoiseGit. À la place, Windows recherche> Credential Manager> Windows Credentials> trouvez votre entrée git> Modifier.
Denis Wang
la source
C'est la réponse que vous cherchez si vous avez changé votre mot de passe Windows et que l'authentification Git ne fonctionne plus ... Dans Windows allemand, recherchez "Anmeldeinformationsverwaltung".
Andre
omg merci. je sais que nous ne sommes pas censés ajouter des commentaires avec merci. mais merci !!
Stephen Hazel
0

Aller au dépôt du projet, clic droit -> 'Git Bash Here'

Dans le type de fenêtres git bash

cd ~
pwd

je reçois quelque chose comme ça

/c/Users/<windows_username>

Copiez maintenant vos clés publiques et privées sur ce chemin

C:\Users\<windows_username>\.ssh

j'ai les fichiers ci-dessous

id_rsa
id_rsa.pub
known_hosts

ici

Maintenant, chaque fois qu'il doit utiliser les informations d'identification, il utilise ces fichiers et demande un mot de passe si nécessaire.

Rajeshk
la source