Git 1.8.0 obsługuje integrację z gnome-keyring.
http://www.h-online.com/open/news/item/Git-1-8-0-can-access-Windows-and-GNOME-keyrings-1733879.html
Po przeczytaniu dokumentacji dotyczącej pomocników poświadczeń git: http://git-scm.com/docs/gitcredentials.html
Nie udało mi się znaleźć sposobu na użycie tej nowej funkcji. Jak mogę to zintegrować? Używam Archlinux z zainstalowanym gitem z repozytorium Archlinux. (git 1.8.0)
git help -a | grep credential-
i sprawdzić, czy masz zainstalowanych innych pomocników. Te, które są dostępne domyślnie, tocredential-cache
(zapamiętaj hasło przez jakiś czas po jego wprowadzeniu, domyślnie 15 minut) icredential-store
( domyślnie przechowuj hasło w postaci zwykłego tekstu w niezaszyfrowanym pliku na dysku~/.git-credentials
).chmod 0755 git-credential-gnome-keyring
aby dodać uprawnienia do wykonywania innym niż rootGit 1.8.0 zapewnia obsługę kluczy gnome, ale plik binarny musi zostać skompilowany dla Twojej platformy.
Oto, co rozwiązało to dla mnie w Archlinux:
Rozwiązanie @VonC było blisko, ale polecenie git config powinno wskazywać na plik wykonywalny. Dlatego mi to nie wyszło.
źródło
Package gnome-keyring-1 was not found in the pkg-config search path.
, brakuje Ci bibliotek programistów dla gnome-keyring. W Ubuntu są one dostępne zapt-get install libgnome-keyring-dev
. Musiałem również ręcznie pobrać repozytorium git contrib z github.com/git/git/tree/master/contrib i umieścić je w / usr / share / git-core /. Te pliki nie są już dołączane do domyślnej instalacji git, przynajmniej przy użyciu oficjalnego git-core ubuntu ppa.git-credential-gnomekeyring
zniknął, szkoda, że w AUR nie ma takich informacji./usr/share/
... tylko gitweb i git-core. Ale jestem na Git 1.7.9. Czy to dlatego ...?libgnome-keyring
(przynajmniej jeśli używasz gnome).Aktualizacja Q4 2016:
Unix, Mac (Git 2.11+)
(Zobacz „ Błąd podczas używania pomocnika poświadczeń Git z
gnome-keyring
”)Okna:
(Zobacz „ Jak wylogować się z konsoli Git Bash w systemie Windows? ”: To znaczy Git dla Windows z najnowszym Microsoft Git Credential Manager dla Windows )
Oryginalna odpowiedź (2012)
Credential Helpers, dla platform Windows, Mac i Unix, zostały wprowadzone jako pierwsze w repozytorium „git-credential-helper” , które teraz zostało uwzględnione w dystrybucji git :
podczas budowania zostanie zainstalowany w
/path/to/git/credential
katalogu.(tutaj dla Uniksa):
Uwaga dotycząca systemu Windows:
Przypuszczam, że można by stworzyć program działający w systemie Windows i wywołać bibliotekę typu „ pypi keyring 0.10 .
Ale to jest zaplecze i nie używasz go bezpośrednio z Gita.
To, czego używasz, to „pomocnik poświadczeń” (który z kolei wywoła dowolny interfejs API poświadczeń w systemie Windows ).
GitHub dla Windows dostarcza takiego pomocnika (jako plik wykonywalny o nazwie ... github) i może przechowywać twoje poświadczenia na czas trwania sesji Windows.
Uruchom powłokę z tego okna „GitHub for Windows”, a zobaczysz wpisanie „git config --system -l”:
credential.helper=!github --credentials
Część wezwie poświadczeń pomocnika „github
”.źródło
Aktualizacja październik 2018
GNOME wycofał libgnome-keyring i zastąpił go libsecret. Commit https://github.com/git/git/commit/87d1353a6a dodał nowy pomocnik poświadczeń / usr / libexec / git-core / git-credential-libsecret.
git config --global credential.helper libsecret
źródło
gnome-keyring
oparte na odpowiedzi odpowiedzi należy odpowiednio zredagować. Może po prostu wykluczyć całą opcję. To w ogóle nie zadziałało na Ubuntu 19.10.Dla każdego w Fedorze nieznacznie zredagowałem odpowiedź Jamesa Warda:
źródło
/usr/libexec/git-core/git-credential-gnome-keyring
.git config --global credential.helper gnome-keyring
sudo dnf install git-credential-libsecret
wtedygit config --global credential.helper libsecret
Po prostu dodaj te dwie linie do swojego
~/.gitconfig
pliku:Następnym razem, gdy Git poprosi Cię o hasło, wprowadzone hasło zostanie zapisane w Gnome Keyring (możesz to zobaczyć za pomocą
seahorse
narzędzia) i nie zostaniesz poproszony o hasło ponownie.Zakłada się, że twoja wersja Git jest wystarczająco nowa (jak 2.1.0) i korzystasz z
LinuxFedora, RHEL lub CentOS. W przypadku starszych wersji lub innych systemów operacyjnych / dystrybucji sprawdź inne odpowiedzi.źródło
git: 'credential-gnome-keyring' is not a git command.
Niektóre dystrybucje są dostarczane z tą integracją jako pakiet instalacyjny, bez konieczności jakiejkolwiek kompilacji. W zależności od wersji GNOME, będziesz musiał zainstalować jedną
gnome-keyring
lub kilkalibsecret
wersji pakietu, na przykładgit-credential-gnome-keyring
(OpenSUSE Leap 42.3).Jednak to samo w sobie nie umożliwi automatycznej integracji Git z bazą kluczy GNOME. Nadal musisz skonfigurować Git do korzystania z tej metody przechowywania danych logowania:
źródło
gnome-keyring
opcja nie działa już dla mnie, ale instrukcja Jamesa Warda dotycząca używanialibsecret
nadal działa dobrze. Byłem jednak zdezorientowany zaleceniem użyciagnome-keyring
podanym tutaj: github.com/timhughes/git-credential-libsecretlibsecret
(lub cofind /usr -iname git-credential-libsecret
daje) to właściwa opcja w Gentoo Linux. Zauważ, żedev-vcs/git
musi zostać wyłoniony zUSE=gnome-keyring
.W Fedorze musisz zainstalować
i edytuj konfigurację git, aby użyć pomocnika poświadczeń.
FYI
libsecret
pakiet został niedawno podzielony, zobacz post z @rugk . Dlatego użytkownicy muszą ponownie zainstalować ten pakiet.źródło