如何在gnome-keyring集成中使用git
Git 1.8.0支持与gnome-keyring的集成。
http://www.h-online.com/open/news/item/Git-1-8-0-can-access-Windows-and-GNOME-keyrings-1733879.html
在阅读关于git证书助手的文档之后: http : //git-scm.com/docs/gitcredentials.html
我无法find使用这个新function的方法。 我如何整合它? 我使用Archlinux的仓库中安装的git。 (git 1.8.0)
@ marcosdsanchez的答案是Arch(它回答了原来的问题),但是我在Ubuntu 13.04上,所以这是我必须做的:
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
Git 1.8.0提供了gnome-keyring支持,但是二进制文件需要为你的平台编译。
这是Archlinux为我解决的问题:
$ 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
@VonC解决scheme是closures的,但是git config命令应该指向可执行文件。 这就是为什么它不适合我
2016年第四季度更新:
-
Unix,Mac(Git 2.11+)
git config --global credential.helper libsecret
(请参阅“ 使用gnome-keyring
使用Git凭证助手时出错 ”)
-
视窗:
git config --global credential.helper manager
(请参阅“ 如何在Windows下注销Git Bash控制台? ”:这是Git for Windows使用最新的Microsoft Git Credential Manager for Windows )
原始答案(2012)
Windows,Mac和Unix平台的Credential Helpers首先在“git-credential-helper”回购中引入, 现在已经包含在git distro中 :
这个存储库包含
git
一部分(或将来提供的)的git凭证助手(gitcredentials
(7))。
$ 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
构build时,将安装在/path/to/git/credential
目录中。
要使用此后端,可以通过设置将其添加到(全局)Gitconfiguration中
(这里是Unix):
git config --global credential.helper /path/to/git/credential/gnome-keyring/git-credential-gnome-keyring
Windows的注意事项:
我想你可以在Windows上运行一个程序,并调用一个类似“ pypi keyring 0.10 ”的库。
但是这是后端,你不直接从Git使用它。
你使用的是“凭证助手”(反过来,它将在Windows上调用任何凭据API )。
Windows的GitHub提供了这样一个帮助程序(作为可执行文件… github),并且可以在Windows会话期间存储您的凭据。
从“GitHub for Windows”窗口启动一个shell,你会看到,input“git config –system -l”:
C:\Users\VonC\Documents\GitHub\test [master +2 ~0 -0 !]> git config --system -l credential.helper=!github --credentials
credential.helper=!github --credentials
部分将调用凭证助手' github
'。
$ git config [--global] credential.helper $BACKEND
对于Fedora上的任何人,我都编辑了James Ward的答案:
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
只需将这两行添加到~/.gitconfig
文件中:
[credential] helper = gnome-keyring
下次通过Git向您要求input密码时,input的密码将被保存到Gnome Keyring(您可以使用seahorse
工具查看此密码),之后您将不会再被要求input密码。
这假定你的Git版本是足够新的(比如2.1.0),而你在Linux下。 对于旧版本或其他操作系统,请查看其他答案。