it-swarm.com.de

Wie benutzt man git mit der Integration von Gnomen-Schlüsselbunden?

Git 1.8.0 unterstützt die Integration mit Gnome-Keyring.

http://www.h-online.com/open/news/item/Git-1-8-0-can-access-Windows-and-GNOME-keyrings-1733879.html

Nach dem Lesen der Dokumentation zu den Hilfsprogrammen für git-Anmeldeinformationen: http://git-scm.com/docs/gitcredentials.html

Ich konnte keine Möglichkeit finden, diese neue Funktion zu verwenden. Wie kann ich es integrieren? Ich verwende Archlinux mit installiertem Git aus dem Archlinux-Repository. (Git 1.8.0)

122
marcosdsanchez

Git 1.8.0 wird mit Gnome-Keyring-Unterstützung geliefert, die Binärdatei muss jedoch für Ihre Plattform kompiliert werden.

Das hat es für mich in Archlinux gelöst:

$ 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

Die @ VonC-Lösung war in der Nähe, aber der Befehl git config sollte auf die ausführbare Datei verweisen. Deshalb hat es bei mir nicht funktioniert.

53
marcosdsanchez

@ marcosdsanchezs Antwort ist für Arch (der die ursprüngliche Frage beantwortet), aber ich bin auf Ubuntu. Für 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

Für 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

Update Q4 2016:

  • Unix, Mac (Git 2.11+)

    git config --global credential.helper libsecret
    

(Siehe " Fehler beim Verwenden von Git Credential Helper mit gnome-keyring ")

  • Windows:

    git config --global credential.helper manager
    

(Siehe " Wie melde ich mich in der Git Bash-Konsole unter Windows ab? ": Das ist Git für Windows mit dem neuesten Microsoft Git Credential Manager für Windows )


Ursprüngliche Antwort (2012)

Credential Helper für Windows-, Mac- und Unix-Plattformen wurden zuerst in "git-credential-helper" repo , eingeführt, das jetzt in git enthalten ist Distribution :

Dieses Repository enthält die Git-Berechtigungsnachweis-Hilfsprogramme (gitcredentials (7)), die Teil von git sind (oder in Zukunft bereitgestellt werden sollen).

$ 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

beim Erstellen wird es im Verzeichnis /path/to/git/credential installiert.

Um dieses Backend zu verwenden, können Sie es Ihrer (globalen) Git-Konfiguration durch Festlegen hinzufügen

(hier für Unix):

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

Hinweis für Windows:

Ich nehme an, Sie könnten ein Programm erstellen, das unter Windows läuft und eine Bibliothek wie " pypi keyring 0.10 aufruft.
Aber das ist das Back-End, und Sie verwenden es nicht direkt von Git.

Was Sie verwenden, ist ein "Hilfsprogramm für Anmeldeinformationen" (das wiederum jede gewünschte API für Anmeldeinformationen unter Windows aufruft ).

GitHub für Windows bietet einen solchen Helfer (als ausführbare Datei mit dem Namen ... github) und kann Ihre Anmeldeinformationen für die Dauer der Windows-Sitzung speichern.
Starten Sie eine Shell in diesem "GitHub for Windows" -Fenster und geben Sie "git config --system -l" ein:

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

Der Teil credential.helper=!github --credentials Ruft den Berechtigungsnachweis-Helfer 'github' auf.

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

Für jeden auf Fedora habe ich die Antwort von James Ward leicht bearbeitet:

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

Update Oktober 2018

GNOME hat libgnome-keyring abgelehnt und durch libsecret ersetzt. Commit https://github.com/git/git/commit/87d1353a6a hat einen neuen Anmeldedaten-Helfer/usr/libexec/git-core/git-credential-libsecret hinzugefügt.

git config --global credential.helper libsecret

9
vk5tu

Fügen Sie einfach diese beiden Zeilen zu Ihrem ~/.gitconfig Datei:

[credential]
    helper = gnome-keyring

Wenn Sie das nächste Mal von Git nach einem Passwort gefragt werden, wird das eingegebene Passwort im Gnome-Schlüsselbund gespeichert (dies können Sie mit dem Tool seahorse sehen). Danach werden Sie nicht mehr nach dem Passwort gefragt.

Dies setzt voraus, dass Ihre Git-Version ausreichend neu ist (wie 2.1.0) und Sie sich unter Linux Fedora, RHEL oder CentOS. Für ältere Versionen oder andere Betriebssysteme/Distributionen lesen Sie die anderen Antworten.

6
oliver