Git 1.8.0 prend en charge l'intégration avec gnome-keyring.
http://www.h-online.com/open/news/item/Git-1-8-0-can-access-Windows-and-GNOME-keyrings-1733879.html
Après avoir lu la documentation sur les helpers d'informations d'identification git: http://git-scm.com/docs/gitcredentials.html
Je n'ai pas pu trouver un moyen d'utiliser cette nouvelle fonctionnalité. Comment puis-je l'intégrer? J'utilise Archlinux avec git installé à partir du référentiel d'Archlinux. (git 1.8.0)
git help -a | grep credential-
et voir si d'autres helpers sont installés. Ceux qui viennent par défaut sontcredential-cache
(rappelez-vous le mot de passe pendant un certain temps après l'avoir entré, 15 minutes par défaut) etcredential-store
(stockez simplement le mot de passe en texte clair sur un fichier non chiffré sur le disque,~/.git-credentials
par défaut).chmod 0755 git-credential-gnome-keyring
pour ajouter l'autorisation d'exécution à d'autres que rootGit 1.8.0 est livré avec le support gnome-keyring mais le binaire doit être compilé pour votre plate-forme.
C'est ce qui l'a résolu pour moi dans Archlinux:
La solution @VonC était proche, mais la commande git config devrait pointer vers l'exécutable. C'est pourquoi cela ne fonctionnait pas pour moi.
la source
Package gnome-keyring-1 was not found in the pkg-config search path.
vous manque les bibliothèques de développement pour gnome-keyring. Sur Ubuntu, ils sont disponibles avecapt-get install libgnome-keyring-dev
. De plus, je devais télécharger manuellement le repo git contrib depuis github.com/git/git/tree/master/contrib et le mettre dans / usr / share / git-core /. Ces fichiers ne sont plus inclus avec une installation git par défaut, du moins en utilisant le ppa officiel git-core ubuntu.git-credential-gnomekeyring
disparu, dommage que dans AUR il n'y ait pas de telles informations./usr/share/
... seulement gitweb et git-core. Mais je suis sur Git 1.7.9. Serait-ce pourquoi ...?libgnome-keyring
est suffisante (du moins si vous utilisez gnome).Mise à jour Q4 2016:
Unix, Mac (Git 2.11+)
(Voir " Erreur lors de l'utilisation de l'assistant d'identification Git avec
gnome-keyring
")Les fenêtres:
(Voir « Comment se déconnecter de la console Git Bash sous Windows? »: C'est Git pour Windows qui utilise le dernier Microsoft Git Credential Manager pour Windows )
Réponse originale (2012)
Les Credential Helpers, pour les plates-formes Windows, Mac et Unix, ont été introduits en premier dans le repo "git-credential-helper" , qui a maintenant été inclus dans git distro :
lors de la construction, il serait installé dans le
/path/to/git/credential
répertoire.(ici pour Unix):
Remarque pour Windows:
Je suppose que vous pouvez créer un programme fonctionnant sous Windows et appeler une bibliothèque comme " pypi keyring 0.10 .
Mais c'est le back-end, et vous ne l'utilisez pas directement depuis Git.
Ce que vous utilisez est un "assistant d'identification" (qui, à son tour, appellera n'importe quelle API d'informations d'identification qu'il souhaite sous Windows ).
GitHub pour Windows fournit une telle aide (sous la forme d'un exécutable appelé ... github) et peut stocker vos informations d'identification pendant la durée de la session Windows.
Lancez un shell à partir de cette fenêtre "GitHub pour Windows", et vous verrez, en tapant "git config --system -l":
La
credential.helper=!github --credentials
partie appellera l'assistant d'identification 'github
'.la source
Mise à jour octobre 2018
GNOME a désapprouvé libgnome-keyring et l'a remplacé par libsecret. Commit https://github.com/git/git/commit/87d1353a6a a ajouté un nouvel assistant d'identification / usr / libexec / git-core / git-credential-libsecret.
git config --global credential.helper libsecret
la source
gnome-keyring
réponses basées doivent être modifiées en conséquence. Peut-être simplement exclure toute l'option. Cela n'a pas du tout fonctionné pour moi sur Ubuntu 19.10.Pour quiconque sur Fedora, j'ai légèrement modifié la réponse de James Ward:
la source
/usr/libexec/git-core/git-credential-gnome-keyring
.git config --global credential.helper gnome-keyring
Ajoutez simplement ces deux lignes à votre
~/.gitconfig
fichier:La prochaine fois que Git vous demandera un mot de passe, le mot de passe saisi sera enregistré dans Gnome Keyring (vous pouvez le voir avec l'
seahorse
outil), et le mot de passe ne vous sera plus demandé par la suite.Cela suppose que votre version de Git est suffisamment nouvelle (comme 2.1.0) et que vous êtes sous
LinuxFedora, RHEL ou CentOS. Pour les anciennes versions ou d'autres systèmes d'exploitation / distributions, consultez les autres réponses.la source
git: 'credential-gnome-keyring' is not a git command.
Certaines distributions sont livrées avec cette intégration sous forme de package d'installation, sans nécessiter de compilation. En fonction de votre version de GNOME, vous devrez installer l'une
gnome-keyring
ou l' autre deslibsecret
versions du paquet, quelque chose commegit-credential-gnome-keyring
(OpenSUSE Leap 42.3).Cependant, cela en soi n'activera pas automatiquement l'intégration de Git avec le trousseau de clés GNOME. Vous devez toujours configurer Git pour utiliser cette méthode de stockage des informations d'identification:
la source
gnome-keyring
option ne fonctionne plus pour moi, mais les instructions de James Ward en utilisantlibsecret
fonctionnent toujours bien. Cependant, j'étais confus par la recommandation d'utilisationgnome-keyring
donnée ici: github.com/timhughes/git-credential-libsecretlibsecret
(ou ce quifind /usr -iname git-credential-libsecret
donne) est la bonne option dans Gentoo Linux. Notez quedev-vcs/git
doit être émergé avecUSE=gnome-keyring
.Sur Fedora, vous devez installer
et modifiez votre configuration git pour utiliser l'assistant d'identification.
Pour info, le
libsecret
package a été récemment divisé, voir le post de @rugk . C'est pourquoi les utilisateurs doivent réinstaller ce package.la source