Skip to content

git-credential-cache

在内存中临时存储密码的辅助程序

概要

bash
git config credential.helper 'cache [<options>]'

描述

此命令缓存凭据以供将来 Git 程序使用。存储的凭据保存在 cache-daemon 进程的内存中(而不是写入文件),并在可配置的超时后被遗忘。如果 cache-daemon 死亡(例如系统重启),凭据会更快被遗忘。缓存通过 Unix 域套接字访问,通过文件系统权限限制为当前用户。

你可能不想直接调用此命令;它旨在由 Git 的其他部分用作凭据辅助程序。请参阅 gitcredentials(7) 或下面的"示例"。

选项

--timeout <seconds>

缓存凭据的秒数(默认:900)。

--socket <path>

使用 <path> 联系正在运行的 cache daemon(如果尚未启动则启动新的 cache daemon)。默认为 $XDG_CACHE_HOME/git/credential/socket,除非 ~/.git-credential-cache/ 存在这种情况下使用 ~/.git-credential-cache/socket。如果你的主目录在网络挂载的文件系统上,你可能需要将其更改为本地文件系统。你必须指定绝对路径。

控制守护进程

如果你希望守护进程提前退出,在超时前忘记所有缓存的凭据,你可以发出 exit 操作:

bash
git credential-cache exit

示例

此辅助程序的目的是减少你必须输入用户名或密码的次数。例如:

bash
$ git config credential.helper cache
$ git push http://example.com/repo.git
Username: <type your username>
Password: <type your password>

[work for 5 more minutes]
$ git push http://example.com/repo.git
[your credentials are used automatically]

你可以通过 credential.helper 配置变量提供选项(此示例将缓存时间增加到 1 小时):

bash
$ git config credential.helper 'cache --timeout=3600'

个人访问令牌

某些远程接受个人访问令牌,这些令牌是随机生成且难以记忆的。它们通常有几周或几个月的生命周期。

git-credential-cache 本质上不适合持久存储个人访问令牌。凭据将在缓存超时后被遗忘。即使你配置了长超时,如果守护进程死亡,凭据也会被遗忘。

为避免频繁重新生成个人访问令牌,请配置具有持久存储的凭据辅助程序。或者,配置 OAuth 凭据辅助程序来自动生成凭据。请参阅 gitcredentials(7) 中的"可用辅助程序"和"OAuth"部分。

Git

git(1) 套件的一部分

基于 CC BY-NC-SA 3.0 许可发布