web-dev-qa-db-fra.com

Comment utiliser git avec l'intégration de gnome-keyring

Git 1.8.0 supporte 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 assistants des identifiants git: http://git-scm.com/docs/gitcredentials.html

Je n'ai pas été en mesure de 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 Archlinux. (git 1.8.0)

122
marcosdsanchez

Git 1.8.0 est livré avec le support gnome-keyring mais le binaire doit être compilé pour votre plate-forme.

C'est ce qui me l'a résolu sous Archlinux:

$ Sudo pacman -S libgnome-keyring
$ cd /usr/share/git/credential/gnome-keyring
$ make
$ git config --global credential.helper /usr/share/git/credential/gnome-keyring/git-credential-gnome-keyring

La solution @VonC était proche, mais la commande git config doit pointer sur l'exécutable. C'est pourquoi cela ne fonctionnait pas pour moi.

53
marcosdsanchez

La réponse de @ marcosdsanchez est pour Arch (qui répond à la question initiale) mais je suis sur Ubuntu. Pour git> = 2.11:

Sudo apt-get install libsecret-1-0 libsecret-1-dev
cd /usr/share/doc/git/contrib/credential/libsecret
Sudo make
git config --global credential.helper /usr/share/doc/git/contrib/credential/libsecret/git-credential-libsecret

Pour git <2.11:

Sudo apt-get install libgnome-keyring-dev
cd /usr/share/doc/git/contrib/credential/gnome-keyring
Sudo make
git config --global credential.helper /usr/share/doc/git/contrib/credential/gnome-keyring/git-credential-gnome-keyring
181
James Ward

Mise à jour T4 2016:

  • Unix, Mac (Git 2.11+)

    git config --global credential.helper libsecret
    

(Voir " Erreur lors de l'utilisation de l'assistant d'identification Git avec gnome-keyring ")

  • Les fenêtres:

    git config --global credential.helper manager
    

(Voir " Comment se déconnecter de la console Git Bash sous Windows? ": c'est-à-dire Git pour Windows en utilisant le dernier Microsoft Git Credential Manager pour Windows )


Réponse originale (2012)

Credential Helpers, pour les plateformes Windows, Mac et Unix, a été introduit pour la première fois dans "repo" git-credential-helper " , , qui est maintenant inclus dans git distro :

Ce référentiel contient l'ensemble des aides aux identifiants Git (gitcredentials (7)) faisant partie de git (ou destinés à être contribués ultérieurement).

$ git clone git://github.com/pah/git-credential-helper.git
$ BACKEND=gnome-keyring      # or any other backend
$ cd git-credential-helper/$BACKEND
$ make
$ cp git-credential-$BACKEND /path/to/git/crendential

lors de la construction, ce serait installer dans /path/to/git/credential répertoire.

Pour utiliser ce backend, vous pouvez l’ajouter à votre configuration Git (globale) en définissant

(ici pour Unix):

git config --global credential.helper /path/to/git/credential/gnome-keyring/git-credential-gnome-keyring

Note pour Windows:

Je suppose que vous pouvez créer un programme fonctionnant sous Windows et appeler une bibliothèque du type " trousseau de clés pypi 0,1 ".
Mais c’est le back-end, et vous ne l’utilisez pas directement chez Git.

Ce que vous utilisez est un "assistant d'identification" (qui, à son tour, appellera toute API d'identification d'identification qu'il souhaite sous Windows ).

GitHub pour Windows fournit un tel assistant (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 la fenêtre "GitHub pour Windows" et vous verrez apparaître "git config --system -l":

C:\Users\VonC\Documents\GitHub\test [master +2 ~0 -0 !]> git config --system -l
credential.helper=!github --credentials

Le credential.helper=!github --credentialspartie appellera l'assistant d'identification 'github'.

$ git config [--global] credential.helper $BACKEND
24
VonC

Pour quiconque sur Fedora, j'ai légèrement modifié la réponse de James Ward:

Sudo yum install libgnome-keyring-devel
cd /usr/share/doc/git/contrib/credential/gnome-keyring
Sudo make
git config --global credential.helper /usr/share/doc/git/contrib/credential/gnome-keyring/git-credential-gnome-keyring
11
SuperGreg

Mise à jour d'octobre 2018

GNOME a déconseillé libgnome-keyring et l'a remplacé par libsecret. Commit https://github.com/git/git/commit/87d1353a6a ajouté un nouvel assistant d'identification/usr/libexec/git-core/git-credential-libsecret.

git config --global credential.helper libsecret

9
vk5tu

Ajoutez simplement ces deux lignes à votre ~/.gitconfig fichier:

[credential]
    helper = gnome-keyring

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'outil seahorse,) et le mot de passe ne vous sera plus demandé.

Cela suppose que votre version de Git est suffisamment nouvelle (comme la version 2.1.0) et que vous êtes sous Linux Fedora, RHEL ou CentOS. Pour les versions plus anciennes ou d'autres systèmes d'exploitation/distributions, consultez les autres réponses.

6
oliver