git - 如何长时间设置 git cache --timeout?
问题描述
在这里Git push 需要用户名和密码我读到了在命令行中运行 git 命令时如何从 github 推送/拉取不输入登录名/密码。
我发现了下一个:
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 个小时过去了)它没有用。
此缓存选项是否有一些小时限制或有什么问题?
谢谢!
解决方案
根据您的评论,缓存似乎在您的服务器上正常工作(很少重新启动),但不是您的笔记本电脑(经常重新启动)。
git-credential-cache的文档是这样说的:
此命令将凭据缓存在内存中以供将来的 Git 程序使用。存储的凭据从不接触磁盘,并且在可配置的超时后被遗忘。
由于凭据仅存储在内存中,因此每次重新启动时都会丢失它们是有道理的。鉴于此,我可以想到一些解决方法:
- 请改用git-credential-store,这会将您的凭据永久保存到磁盘。请注意,这将使它们完全未加密,因此根据您的安全需求,这可能无法正常工作。
- 继续使用缓存,但不要关闭/重新启动笔记本电脑,而是尝试使用挂起或休眠模式。这将保持机器的当前状态,并防止每次使用笔记本电脑时清除内存,因此凭据应该一直存在,直到达到超时。
推荐阅读
- c# - UWP 应用程序:地图路线 API (MapRouteFinder.GetDrivingRouteAsync) 不响应,甚至无法刷新或取消请求
- laravel - OOP Laravel 解析从 DB 获取的数据
- pine-script - 如何从 Pine Script (Tradingview) 中的特定日期获取绿色和红色音量条计数?
- javascript - 如何将属性直接传递给 vuejs 中的组件,例如 reactjs
- parquet - 如何将 Azure 数据集标记为从具有日期分区的镶木地板文件夹中读取的时间序列数据集?
- unity3d - 如何最好地自动化重复的 Unity 工作流程
- ios - Swift 5- Firebase- 在标题中按日期分组
- powershell - Invoke-WebRequest、POST 方法格式问题
- excel - VBA损坏文件?
- javascript - 根据键而不是值从数组中删除对象?