Git 1.8.0 mendukung integrasi dengan gnome-keyring.
http://www.h-online.com/open/news/item/Git-1-8-0-can-access-Windows-and-GNOME-keyrings-1733879.html
Setelah membaca dokumen tentang git credentials helpers: http://git-scm.com/docs/gitcredentials.html
Saya tidak dapat menemukan cara untuk menggunakan fitur baru ini. Bagaimana saya bisa mengintegrasikannya? Saya menggunakan Archlinux dengan git diinstal dari repositori Archlinux. (git 1.8.0)
git help -a | grep credential-
dan melihat apakah Anda memiliki pembantu lain yang diinstal. Yang datang secara default adalahcredential-cache
(ingat kata sandi untuk beberapa waktu setelah Anda memasukkannya, 15 menit secara default), dancredential-store
(simpan saja kata sandi dalam plaintext pada file yang tidak dienkripsi pada disk,~/.git-credentials
secara default).chmod 0755 git-credential-gnome-keyring
untuk menambahkan izin eksekusi kepada orang lain selain rootGit 1.8.0 hadir dengan dukungan gnome-keyring tetapi biner perlu dikompilasi untuk platform Anda.
Inilah yang memecahkannya bagi saya di Archlinux:
Solusi @VonC sudah dekat, tetapi perintah git config harus menunjuk ke executable. Itu sebabnya itu tidak berhasil untuk saya.
sumber
Package gnome-keyring-1 was not found in the pkg-config search path.
Anda kehilangan perpustakaan dev untuk gnome-keyring. Di Ubuntu ini tersedia denganapt-get install libgnome-keyring-dev
. Juga, saya harus mengunduh repo git contrib secara manual dari github.com/git/git/tree/master/contrib dan memasukkannya ke / usr / share / git-core /. File-file ini tidak lagi disertakan dengan instalasi git default, setidaknya menggunakan ppa ubit git-core resmi.git-credential-gnomekeyring
hilang, terlalu buruk bahwa di AUR tidak ada informasi seperti itu./usr/share/
... hanya gitweb dan git-core. Tapi saya di Git 1.7.9. Mungkinkah itu sebabnya ...?libgnome-keyring
sudah cukup (setidaknya jika Anda menggunakan gnome).Pembaruan Q4 2016:
Unix, Mac (Git 2.11+)
(Lihat " Kesalahan saat menggunakan pembantu kredensial Git dengan
gnome-keyring
")Windows:
(Lihat " Cara keluar di konsol Git Bash di Windows? ": Itu adalah Git untuk Windows menggunakan Microsoft Git Credential Manager terbaru untuk Windows )
Jawaban asli (2012)
Credential Helpers, untuk platform Windows, Mac dan Unix, telah diperkenalkan pertama kali dalam repo "git-credential-helper" , yang sekarang telah termasuk dalam distro git :
ketika membangun, itu akan menginstal di
/path/to/git/credential
direktori.(di sini untuk Unix):
Catatan untuk Windows:
Saya kira Anda bisa membuat program yang berjalan di Windows dan memanggil perpustakaan seperti " pypi keyring 0.10 .
Tapi itu adalah back-end, dan Anda tidak menggunakannya langsung dari Git.
Apa yang Anda gunakan adalah "kredensial pembantu" (yang, pada gilirannya, akan memanggil API kredensial apa pun yang diinginkannya di Windows ).
GitHub untuk Windows menyediakan bantuan seperti itu (sebagai executable disebut ... github), dan dapat menyimpan kredensial Anda selama durasi sesi Windows.
Luncurkan sebuah shell dari windows "GitHub for Windows", dan Anda akan melihat, mengetik "git config --system -l":
Bagian
credential.helper=!github --credentials
akan memanggil pembantu kredensial 'github
'.sumber
Perbarui Oktober 2018
GNOME telah meninggalkan key-libgnome dan menggantinya dengan libsecret. Commit https://github.com/git/git/commit/87d1353a6a menambahkan pembantu kredensial baru / usr / libexec / git-core / git-credential-libsecret.
git config --global credential.helper libsecret
sumber
gnome-keyring
jawaban berdasarkan harus diedit sesuai. Mungkin hanya mengecualikan seluruh opsi. Itu tidak berhasil sama sekali bagi saya di Ubuntu 19.10.Bagi siapa pun di Fedora, saya sedikit mengedit jawaban James Ward:
sumber
/usr/libexec/git-core/git-credential-gnome-keyring
.git config --global credential.helper gnome-keyring
Cukup tambahkan dua baris ini ke
~/.gitconfig
file Anda :Lain kali Anda diminta kata sandi oleh Git, kata sandi yang dimasukkan akan disimpan ke Gnome Keyring (Anda dapat melihat ini dengan
seahorse
alat), dan Anda tidak akan diminta kata sandi lagi setelahnya.Ini mengasumsikan bahwa versi Git Anda cukup baru (seperti 2.1.0) dan Anda berada di
LinuxFedora, RHEL atau CentOS. Untuk versi yang lebih lama atau OS / distro lain, periksa jawaban lainnya.sumber
git: 'credential-gnome-keyring' is not a git command.
Beberapa distribusi hadir dengan integrasi ini sebagai paket instalasi, tanpa memerlukan kompilasi. Bergantung pada versi GNOME Anda, Anda perlu menginstal salah satu
gnome-keyring
ataulibsecret
versi paket, sepertigit-credential-gnome-keyring
(OpenSUSE Leap 42.3).Namun, ini dengan sendirinya tidak akan memungkinkan integrasi Git dengan Keyring GNOME secara otomatis. Anda masih harus mengonfigurasi Git untuk menggunakan metode penyimpanan kredensial ini:
sumber
gnome-keyring
opsi tidak lagi berfungsi untuk saya, tetapi instruksi James Ward menggunakanlibsecret
masih berfungsi dengan baik. Namun, saya bingung dengan rekomendasi yang digunakan dignome-keyring
sini: github.com/timhughes/git-credential-libsecretlibsecret
(atau apa yangfind /usr -iname git-credential-libsecret
memberi) adalah opsi yang tepat di Gentoo Linux. Catatan yangdev-vcs/git
harus muncul adalahUSE=gnome-keyring
.Di Fedora Anda harus menginstal
dan edit konfigurasi git Anda untuk menggunakan helper kredensial.
FYI
libsecret
paket baru-baru ini dipisah, lihat posting dari @rugk . Itu sebabnya pengguna perlu menginstal ulang paket ini.sumber