git跳过用户名密码验证,以及配置credential help

2023-06-11  本文已影响0人  会跳的八爪鱼

平时我们在使用git命令时,如果使用http方式拉取代码每次都需要使用填写用户名和密码,非常的麻烦。


首次输入需要验证用户名和密码

如何才能绕过每次繁琐的填充?

如果想要绕过git的交互方式,首先需要了解git的密码存储机制。
git使用的使用是一种名叫[credential helper]的工具来完成用户名密码存储的。
可以通过git config --global credential.helper命令来查看本机使用的哪种方式,或者查看用户目录下的.gitconfig文件
可以通过命令git config --global credential.helper cache/store/manager-core设置密码存储方式。

credential.helper

以下是[credential helper]的几种存储方式:

①cache:cache 将凭据在内存中进行短时间的缓存。使用的比较少。
②store:store通过明文的方式将用户名和密码保存到用户目录下,可以使用记事本直接打开:

文件名

如果使用这种方式,可以通过修改.git-credentials文件的方式绕过填充和密码修改,形如:https://username:password@gitee.com。如果是首次使用需要创建该文件。git config --global credential.helper store --file=xxxxx可以设置读取.git-credentials文件的位置。

③manager-core:如果是windows机器,可以使用名为windows凭据的[credential helper]工具,这是一种windows自带的密码管理器,非常适合存储git用户名和密码。如下图:

windows凭据管理器

如果想以这种方式存储git的用户名和密码,就需要使用cmd命令了

//删除某个windows凭据
cmdkey /delete:git:https://gitee.com
//添加某个windows凭据
cmdkey /generic:git:http://gitee.com /user:%username% /password:%password%

note:使用之前需要先查看[credential helper]以哪种方式存储

此外[credential helper]工具还支持配置多种存储方式。当查找特定服务器的凭证时,git 会按顺序查询,并且在找到第一个符合条件的机器时就返回。配置如下:

[credential]
    helper = manager-core 
    helper = store --file c:\\.git-credentials
    helper = cache --timeout 30000
上一篇下一篇

猜你喜欢

热点阅读