如何在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下。 对于旧版本或其他操作系统,请查看其他答案。