使用git与gnome-keyring和http(s)repos的正确方法是什么?

Modified on: Sat, 09 Jun 2018 13:35:23 +0800

目前,每当我git pullgit push到http(s)存储库时,我都会得到以下信息:

$ git pull
Username for 'https://gitrepos.reposdomain.com': me@mydomain.com
Password for 'https://me@mydomain.com@gitrepos.reposdomain.com': 

这对于不经常使用是可以的,但开始变得非常烦人。 很遗憾,在这种情况下,切换到ssh不是一种选择。

我已经读过早期版本的git提供了一个凭证“store”和“cache”,但是没有建议这样做,因为它以明文形式存储了密码。

但是

较新版本的git显然将git凭据存储在gnome-keyring中,但必须正确设置。

我已尝试在SO上关注其他(非Ubuntu)答案以使其正常工作(即这个),但我仍然会看到用户名和密码提示。

为http(s)repos存储git凭据的正确和最安全的方法是什么?如何让它们在Ubuntu上运行?

作者:Community,tudor

最佳答案

gnome-credential-helper现已弃用。

相反,请使用libsecret。如果它尚未包含在您的ubuntu中,请使用以下过程:

  1. 您可以使用以下命令安装libsecret和开发库。

    sudo apt-get install libsecret-1-0 libsecret-1-dev

  2. 然后您需要构建凭据管理器

    cd /usr/share/doc/git/contrib/credential/libsecret

    sudo make

  3. 最后,您应该将git指向配置中新创建的文件:

    git config --global credential.helper /usr/share/doc/git/contrib/credential/libsecret/git-credential-libsecret

  4. 醇>

    有关https://stackoverflow.com/a/40312117/2017781的更多详情

作者:eddygeek

相关问答

添加新评论