Git 1.8.0 admite la integración con gnome-keyring.
http://www.h-online.com/open/news/item/Git-1-8-0-can-access-Windows-and-GNOME-keyrings-1733879.html
Después de leer los documentos sobre los ayudantes de credenciales de git: http://git-scm.com/docs/gitcredentials.html
No pude encontrar una manera de usar esta nueva función. ¿Cómo puedo integrarlo? Estoy usando Archlinux con git instalado desde el repositorio de Archlinux. (git 1.8.0)
git help -a | grep credential-
y ver si tiene otros ayudantes instalados. Los que vienen por defecto soncredential-cache
(recuerde la contraseña por un tiempo después de ingresarla, 15 minutos por defecto), ycredential-store
(solo almacene la contraseña en texto sin formato en un archivo sin cifrar en el disco,~/.git-credentials
por defecto).chmod 0755 git-credential-gnome-keyring
para agregar permiso de ejecución a otros que no sean rootGit 1.8.0 viene con soporte para gnome-keyring, pero el binario debe compilarse para su plataforma.
Esto es lo que me resolvió en Archlinux:
La solución @VonC estaba cerca, pero el comando git config debería apuntar al ejecutable. Por eso no funcionaba para mí.
fuente
Package gnome-keyring-1 was not found in the pkg-config search path.
le faltan las bibliotecas de desarrollo para gnome-keyring. En Ubuntu estos están disponibles conapt-get install libgnome-keyring-dev
. Además, tuve que descargar el repositorio git contrib manualmente desde github.com/git/git/tree/master/contrib y ponerlo en / usr / share / git-core /. Estos archivos ya no se incluyen con una instalación de git predeterminada, al menos con el oficial git-core ubuntu ppa.git-credential-gnomekeyring
se ha ido, lástima que en AUR no haya tal información./usr/share/
... solo gitweb y git-core. Pero estoy en Git 1.7.9. ¿Podría ser por eso ...?libgnome-keyring
es suficiente (al menos si está utilizando gnome).Actualización Q4 2016:
Unix, Mac (Git 2.11+)
(Consulte " Error al usar Git credential helper con
gnome-keyring
")Ventanas:
(Consulte " ¿Cómo cerrar sesión en la consola de Git Bash en Windows? ": Es Git para Windows con el último Microsoft Git Credential Manager para Windows )
Respuesta original (2012)
Credential Helpers, para plataformas Windows, Mac y Unix, se introdujeron por primera vez en el repositorio "git-credential-helper" , que ahora se ha incluido en git distro :
cuando se compila, se instalará en el
/path/to/git/credential
directorio.(aquí para Unix):
Nota para Windows:
Supongo que podría hacer que un programa se ejecute en Windows y llame a una biblioteca como " pypi keyring 0.10 .
Pero ese es el back-end, y no lo usa directamente desde Git.
Lo que está utilizando es un "asistente de credenciales" (que, a su vez, llamará a cualquier API de credenciales que desee en Windows ).
GitHub para Windows proporciona dicho asistente (como un ejecutable llamado ... github) y puede almacenar sus credenciales durante la sesión de Windows.
Inicie un shell desde esa ventana "GitHub para Windows", y verá, escribiendo "git config --system -l":
La
credential.helper=!github --credentials
parte llamará al credencial auxiliar 'github
'.fuente
Actualización octubre 2018
GNOME ha desaprobado el llavero libgnome y lo ha reemplazado con libsecret. Commit https://github.com/git/git/commit/87d1353a6a agregó una nueva credencial auxiliar / usr / libexec / git-core / git-credential-libsecret.
git config --global credential.helper libsecret
fuente
gnome-keyring
respuestas basadas deben editarse en consecuencia. Tal vez solo excluya toda la opción. Eso no funcionó para mí en Ubuntu 19.10.Para cualquiera en Fedora, edité la respuesta de James Ward ligeramente:
fuente
/usr/libexec/git-core/git-credential-gnome-keyring
.git config --global credential.helper gnome-keyring
Simplemente agregue estas dos líneas a su
~/.gitconfig
archivo:La próxima vez que Git le solicite una contraseña, la contraseña ingresada se guardará en Gnome Keyring (puede ver esto con la
seahorse
herramienta) y no se le solicitará la contraseña nuevamente.Esto supone que su versión de Git es lo suficientemente nueva (como 2.1.0) y que está bajo
LinuxFedora, RHEL o CentOS. Para versiones anteriores u otros sistemas operativos / distribuciones, consulte las otras respuestas.fuente
git: 'credential-gnome-keyring' is not a git command.
Algunas distribuciones vienen con esta integración como un paquete de instalación, sin requerir ninguna compilación. Dependiendo de su versión de GNOME, necesitará instalar una
gnome-keyring
olibsecret
varias versiones del paquete, algo comogit-credential-gnome-keyring
(OpenSUSE Leap 42.3).Sin embargo, esto en sí mismo no permitirá la integración de Git con GNOME Keyring automáticamente. Aún debe configurar Git para usar este método de almacenamiento de credenciales:
fuente
gnome-keyring
opción ya no funciona para mí, pero las instrucciones de uso de James Wardlibsecret
todavía funcionan bien. Sin embargo, estaba confundido por la recomendación de usognome-keyring
dada aquí: github.com/timhughes/git-credential-libsecretlibsecret
(o lo quefind /usr -iname git-credential-libsecret
da) es la opción correcta en Gentoo Linux. Tenga en cuenta quedev-vcs/git
debe surgir conUSE=gnome-keyring
.En Fedora necesitas instalar
y edite su configuración de git para usar el asistente de credenciales.
Para su información, el
libsecret
paquete se ha dividido recientemente, vea la publicación de @rugk . Es por eso que los usuarios necesitan reinstalar este paquete.fuente