如何长时间设置 git cache --timeout ?

Ken*_*der 6 git github

这里Git推送需要用户名和密码我读到如何在命令行中运行git命令时向/从github推送/拉取时不输入登录名/密码。

我发现下一个:

git config --global credential.helper 'cache --timeout 7200'
Run Code Online (Sandbox Code Playgroud)

启用凭据缓存后,将缓存 7200 秒(2 小时)。

我认为 2 小时太小,并尝试使用命令设置大约 200 小时:

git config --global credential.helper 'cache --timeout 7200000'
Run Code Online (Sandbox Code Playgroud)

我的本地服务器和远程服务器上都有 Ubuntu 18。

但是当我第二天运行 github 时(我想已经过去了 10-12 个小时),它不起作用。

此缓存选项是否有一些时间限制或者有什么问题?

谢谢!

小智 5

根据您的评论,缓存似乎在您的服务器(很少重新启动)上正常工作,但在您的笔记本电脑(经常重新启动)上工作正常。

git-credential-cache的文档是这样说的:

此命令将凭据缓存在内存中以供将来的 Git 程序使用。存储的凭据永远不会接触磁盘,并且会在可配置的超时后被遗忘。

由于凭据仅存储在内存中,因此每次重新启动时您都会丢失它们,这是有道理的。鉴于此,我可以想到一些解决方法:

  1. 请改用git-credential-store,这会将您的凭据永久保存到磁盘。请注意,这将使它们完全未加密,因此根据您的安全需求,这可能不起作用。
  2. 继续使用缓存,但不要关闭/重新启动笔记本电脑,而是尝试使用挂起或休眠模式。这将保留计算机的当前状态,并防止每次使用笔记本电脑时清除内存,因此凭据应保留到超时为止。