Git 将凭据存储在 Windows 凭据管理器中
Git keeps storing credentials in Windows Credential Manager
我只想对单个命令使用一些 git 凭据。
git -c remote.origin.url="http://pass:user@gitserver/GitRepo" push
但在执行此操作后,凭据将保存在凭据管理器中(我可以在 Windows 凭据管理器中看到它们),并隐式用于后续 git push
命令。
如何防止存储它们?
首先,确定你的范围
您可能希望在三个不同范围之一中禁用 Windows 凭据管理器:
- 全局,所以这些信用从不存储在管理器中,
- 在本地,因此信用不存储在这个 repo 的管理器中,或者
- 暂时,只有一个命令。
在所有情况下,答案都是取消配置中的 credential.helper
,但如何操作取决于范围。
全球
运行
git config --global credential.helper ""
和 Git 将不再为您在任何地方存储凭据。
本地
克隆沙箱后,您可以仅使用以下命令禁用该沙箱内操作的凭据管理器:
git config --local credential.helper ""
仅针对一个命令
最后可以在命令行中使用-c
一次性覆盖:
git -c credential.helper= <some command>
本地,重访
如果您要为单个存储库禁用凭据管理,您实际上必须在克隆存储库时使用 -c
变体,以关闭克隆时的凭据存储,并且 --local
在该沙箱中设置,关闭 push/pull/fetch 操作的凭据存储。
全部撤消
如果您稍后改变主意,可以通过删除您自己的禁用凭据管理的配置设置来撤消操作:
git config --global --unset credential.helper
或
git config --local --unset credential.helper
这样,您将返回到系统默认值(在我的 Git 中 manager-core
for Windows 配置,它使用 Windows 凭据管理器)。
或者,您可以在全局或沙箱中显式设置您自己的凭证管理器选择,方法是:
git config --global credential.helper manager-core
或
git config --local credential.helper manager-core
我只想对单个命令使用一些 git 凭据。
git -c remote.origin.url="http://pass:user@gitserver/GitRepo" push
但在执行此操作后,凭据将保存在凭据管理器中(我可以在 Windows 凭据管理器中看到它们),并隐式用于后续 git push
命令。
如何防止存储它们?
首先,确定你的范围
您可能希望在三个不同范围之一中禁用 Windows 凭据管理器:
- 全局,所以这些信用从不存储在管理器中,
- 在本地,因此信用不存储在这个 repo 的管理器中,或者
- 暂时,只有一个命令。
在所有情况下,答案都是取消配置中的 credential.helper
,但如何操作取决于范围。
全球
运行
git config --global credential.helper ""
和 Git 将不再为您在任何地方存储凭据。
本地
克隆沙箱后,您可以仅使用以下命令禁用该沙箱内操作的凭据管理器:
git config --local credential.helper ""
仅针对一个命令
最后可以在命令行中使用-c
一次性覆盖:
git -c credential.helper= <some command>
本地,重访
如果您要为单个存储库禁用凭据管理,您实际上必须在克隆存储库时使用 -c
变体,以关闭克隆时的凭据存储,并且 --local
在该沙箱中设置,关闭 push/pull/fetch 操作的凭据存储。
全部撤消
如果您稍后改变主意,可以通过删除您自己的禁用凭据管理的配置设置来撤消操作:
git config --global --unset credential.helper
或
git config --local --unset credential.helper
这样,您将返回到系统默认值(在我的 Git 中 manager-core
for Windows 配置,它使用 Windows 凭据管理器)。
或者,您可以在全局或沙箱中显式设置您自己的凭证管理器选择,方法是:
git config --global credential.helper manager-core
或
git config --local credential.helper manager-core