如何设置git缓存超时时间为长期?

6

在这里我读到了一个与Github相关的问题:Git push requires username and password,其中提到了在使用命令行运行Git命令时不需要每次输入登录名和密码。

我发现如下内容:

git config --global credential.helper 'cache --timeout 7200'

启用凭据缓存后,它将被缓存7200秒(2小时)。我认为2小时时间太短了,试图使用命令将缓存设置为200小时:
git config --global credential.helper 'cache --timeout 7200000'

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

但第二天运行Github时(大约过了10-12个小时),它就无法工作了。

这个缓存选项是否有时间限制,或者问题出在哪里?

谢谢!


抱歉,有人使用过这种与Github授权相关的方式吗? - Kent Milder
2
经过一些工作,我注意到缓存在远程服务器上运行,因为我不每月重启它。但是在我的本地笔记本电脑上不起作用,因为我每天都会开关机。有什么想法吗? - Kent Milder
2
我也在想这个。 - xdavidliu
1个回答

5
根据您的评论,似乎缓存在很少重启的服务器上正常工作,但在经常重启的笔记本电脑上不工作。 git-credential-cache 的文档如下:
此命令将凭据缓存在内存中,以供未来的 Git 程序使用。存储的凭据永远不会接触磁盘,并在可配置的超时后被忘记。
由于凭证仅存储在内存中,因此每次重新启动时都会丢失它们是有道理的。鉴于此,我可以想到几个解决方法:
  1. 改用 git-credential-store ,这将永久将您的凭据保存到磁盘上。请注意,这将完全不加密,因此根据您的安全性需求,可能无法使用。
  2. 继续使用缓存,但不要关闭/重新启动您的笔记本电脑,而是尝试使用挂起或休眠模式。这将保持机器的当前状态,并防止在每次使用笔记本电脑时清除内存,因此凭据应该持久存在直到超时为止。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接