目前,无论何时我git pull
或git push
访问 http(s) 存储库,我都会得到以下信息:
$ git pull
Username for 'https://gitrepos.reposdomain.com': [email protected]
Password for 'https://[email protected]@gitrepos.reposdomain.com':
这对于不经常使用是可以的,但很快就会变得非常烦人。 不幸的是,在这种情况下切换到 ssh 不是一种选择。
我读过早期版本git
提供了凭证“存储”和“缓存”,但不建议这样做,因为它以明文形式存储密码。
但
较新版本的git
显然将 git 凭据存储在 中gnome-keyring
,但必须正确设置。
我已经尝试在 SO 上遵循其他(非 Ubuntu)答案以使其正常工作(即this one),但我仍然会看到用户名和密码提示。
为 http(s)存储库存储凭据的正确和最安全的方法是什么git
?如何使它们在 Ubuntu 上运行?
gnome-credential-helper
现在已弃用。相反,请使用libsecret。如果您的计算机上尚未预装它,请使用以下过程:
确保
libsecret
安装了它的开发库:然后从 libsecret 的开发库附带的源代码构建凭证助手:
最后,将新编译的二进制文件注册为Git 凭证助手:
有关https://stackoverflow.com/a/40312117/2017781的更多详细信息
您需要
credential helper
使用 Gnome Keyring 设置 git:安装并编译 Gnome Keyring 开发:
并设置凭证:
这种简单的方法在我的带有 git 2.17.1 的 Ubuntu 18.04.1 上似乎就足够了:
您可以像这样指定一小时(= 3600 秒)超时:
进一步阅读精美手册。