git-credential-store
在磁盘上存储凭据的辅助程序
概要
git config credential.helper 'store [<options>]'描述
> 提示: 使用此辅助程序将以未加密方式将密码存储在磁盘上,仅受文件系统权限保护。如果这是不可接受的安全权衡,请尝试 git-credential-cache(1),或找到与操作系统提供的安全存储集成的辅助程序。
此命令将凭据无限期地存储在磁盘上以供将来 Git 程序使用。
你可能不想直接调用此命令;它旨在由 git 的其他部分用作凭据辅助程序。请参阅 gitcredentials(7) 或下面的"示例"。
选项
--file=<path>
使用 <path> 查找和存储凭据。该文件将设置其文件系统权限以防止系统上的其他用户读取,但它不会被加密或以其他方式保护。如果未指定,将从 ~/.git-credentials 和 $XDG_CONFIG_HOME/git/credentials 搜索凭据,如果存在 ~/.git-credentials 则凭据将写入该文件,或者如果前者不存在则写入 $XDG_CONFIG_HOME/git/credentials。另请参阅"文件"。
文件
如果未使用 --file 显式设置,git-credential-store 将按优先顺序在两个文件中搜索凭据:
~/.git-credentials
用户特定的凭据文件。
$XDG_CONFIG_HOME/git/credentials
第二个用户特定的凭据文件。如果 '$XDG_CONFIG_HOME' 未设置或为空,将使用 $HOME/.config/git/credentials。如果 ~/.git-credentials 也有匹配的凭据,则此文件中存储的任何凭据都不会使用。如果你有时使用不支持它的旧版本 Git,最好不要创建此文件。
对于凭据查找,按上述顺序读取文件,第一个匹配的凭据优先于列表中更靠后文件中找到的凭据。
凭据存储默认写入列表中第一个存在的文件。如果这些文件都不存在,将创建并写入 ~/.git-credentials。
擦除凭据时,将从所有文件中擦除匹配的凭据。
示例
此辅助程序的目的是减少你必须输入用户名或密码的次数。例如:
$ git config credential.helper store
$ git push http://example.com/repo.git
Username: <type your username>
Password: <type your password>
[several days later]
$ git push http://example.com/repo.git
[your credentials are used automatically]存储格式
.git-credentials 文件以明文存储。每个凭据存储在自己的行中,格式为 URL:
https://user:pass@example.com文件中不允许有其他类型的行(例如空行或注释行),即使某些可能会被静默忽略。不要使用编辑器查看或编辑该文件。
当 Git 需要特定 URL 上下文的身份验证时,credential-store 将该上下文视为与凭据文件中每个条目匹配的模式。如果协议、主机名和用户名(如果我们已经有了)匹配,则密码将返回给 Git。有关更多信息,请参阅 gitcredentials(7) 中的配置讨论。
Git
git(1) 套件的一部分
