简体中文 ▾ 主题 ▾ 最新版本 ▾ git-credential-store 上次更新于 2.43.0

名称

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] 套件的一部分