O Git 1.8.0 suporta a integração com o gnome-keyring.
http://www.h-online.com/open/news/item/Git-1-8-0-can-access-Windows-and-GNOME-keyrings-1733879.html
Depois de ler os documentos sobre os ajudantes de credenciais do git: http://git-scm.com/docs/gitcredentials.html
Não consegui encontrar uma maneira de usar esse novo recurso. Como posso integrá-lo? Estou usando o Archlinux com o git instalado no repositório do Archlinux. (git 1.8.0)
git help -a | grep credential-
e ver se possui outros auxiliares instalados. Os que vêm por padrão sãocredential-cache
(lembre-se da senha por algum tempo depois de inseri-la, 15 minutos por padrão) ecredential-store
(apenas armazene a senha em texto sem formatação em um arquivo não criptografado no disco,~/.git-credentials
por padrão).chmod 0755 git-credential-gnome-keyring
para adicionar permissão de execução para os outros do que raizO Git 1.8.0 vem com suporte ao gnome-keyring, mas o binário precisa ser compilado para sua plataforma.
Isto é o que resolveu para mim no Archlinux:
A solução @VonC estava próxima, mas o comando git config deve apontar para o executável. É por isso que não estava funcionando para mim.
fonte
Package gnome-keyring-1 was not found in the pkg-config search path.
estão faltando as bibliotecas de desenvolvimento para o gnome-keyring. No Ubuntu, estes estão disponíveis comapt-get install libgnome-keyring-dev
. Além disso, eu tive que baixar o repositório git contrib manualmente em github.com/git/git/tree/master/contrib e colocá-lo em / usr / share / git-core /. Esses arquivos não são mais incluídos em uma instalação padrão do git, pelo menos usando o ppa oficial do git-core ubuntu.git-credential-gnomekeyring
se foi, que pena que no AUR não existe essa informação./usr/share/
... apenas gitweb e git-core. Mas eu estou no Git 1.7.9. Poderia ser por isso que ...?libgnome-keyring
(pelo menos se você estiver usando o gnome).Atualização do quarto trimestre de 2016:
Unix, Mac (Git 2.11+)
(Consulte " Erro ao usar o auxiliar de credenciais do Git com
gnome-keyring
")Janelas:
(Consulte " Como sair do console do Git Bash no Windows? ": É o Git for Windows usando o Microsoft Git Credential Manager mais recente para Windows )
Resposta original (2012)
Os Credential Helpers, para plataformas Windows, Mac e Unix, foram introduzidos primeiro no repositório "git-credential-helper" , que agora foi incluído na distribuição git :
quando compilado, seria instalado no
/path/to/git/credential
diretório(aqui para Unix):
Nota para Windows:
Suponho que você possa criar um programa em execução no Windows e chamar uma biblioteca como " pypi keyring 0.10 .
Mas esse é o back-end e você não o usa diretamente no Git.
O que você está usando é um "auxiliar de credencial" (que, por sua vez, chamará qualquer API de credencial que desejar no Windows ).
O GitHub para Windows fornece esse auxiliar (como um executável chamado ... github) e pode armazenar suas credenciais durante a sessão do Windows.
Inicie um shell nas janelas do "GitHub for Windows" e você verá, digitando "git config --system -l":
A
credential.helper=!github --credentials
parte chamará o auxiliar de credencial 'github
'.fonte
Atualização outubro 2018
O GNOME substituiu o libgnome-keyring e o substituiu pelo libsecret. A confirmação https://github.com/git/git/commit/87d1353a6a adicionou um novo auxiliar de credencial / usr / libexec / git-core / git-credential-libsecret.
git config --global credential.helper libsecret
fonte
gnome-keyring
respostas baseadas devem ser editadas de acordo. Talvez apenas exclua toda a opção. Isso não funcionou para mim no Ubuntu 19.10.Para qualquer pessoa no Fedora, editei um pouco a resposta de James Ward:
fonte
/usr/libexec/git-core/git-credential-gnome-keyring
.git config --global credential.helper gnome-keyring
Basta adicionar estas duas linhas ao seu
~/.gitconfig
arquivo:Da próxima vez que o Git solicitar uma senha, a senha digitada será salva no chaveiro do Gnome (você pode ver isso com a
seahorse
ferramenta) e não será solicitada a senha novamente posteriormente.Isso pressupõe que sua versão do Git é suficientemente nova (como 2.1.0) e você está no
LinuxFedora, RHEL ou CentOS. Para versões mais antigas ou outros sistemas operacionais / distribuições, verifique as outras respostas.fonte
git: 'credential-gnome-keyring' is not a git command.
Algumas distribuições vêm com essa integração como um pacote de instalação, sem exigir nenhuma compilação. Dependendo da sua versão do GNOME, você precisará instalar
gnome-keyring
oulibsecret
versões do pacote, algo comogit-credential-gnome-keyring
(OpenSUSE Leap 42.3).No entanto, isso por si só não permitirá a integração do Git com o GNOME Keyring automaticamente. Você ainda deve configurar o Git para usar este método de armazenamento de credenciais:
fonte
gnome-keyring
opção não funciona mais para mim, mas as instruções de James Wardlibsecret
ainda funcionam bem. No entanto, fiquei confuso com a recomendação de usognome-keyring
fornecida aqui: github.com/timhughes/git-credential-libsecretlibsecret
(ou o quefind /usr -iname git-credential-libsecret
dá) é a opção certa no Gentoo Linux. Observe quedev-vcs/git
deve ser surgido comUSE=gnome-keyring
.No Fedora você precisa instalar
e edite sua configuração do git para usar o auxiliar de credenciais.
Para sua informação, o
libsecret
pacote foi recentemente dividido, consulte a publicação do @rugk . É por isso que os usuários precisam reinstalar este pacote.fonte