A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

在开始之前,我们首先来明确一下需要每次输入用户名和密码的场景:

第一,必须是使用https方式下载的代码在操作时才可能需要输入用户名密码。

第二,在满足第一点的基础上,未配置credential.helper。可以用如下命令(如未特别说明,所有命令均默认在Git Bash工具下执行)检查credential.helper的当前配置:

git config -l|grep credential.helper
  • 1

如果未配置的话结果应该为空:

下面检查一下当前是否任意的git操作都需要输入用户名密码:
clone代码:

pull代码:

push代码:

没错,每次都要输入用户名密码,就一个字:烦。

接下来介绍一下两个配置方案:

  • 切换成git方式,传送门:git ssh key配置
  • 配置credential.helper:
    首先简单介绍一下credential.helper这个配置项的含义:这个配置项允许用户自行指定git所使用的凭据管理工具。
    简单粗暴的办法就是直接配置credential.helper的值为manager(注意:当你需要在同一台机器上使用多个git账号这么搞就不行了,因为2个账号必定使用的不同的凭据):

    git config credential.helper manager
    • 1

    再次尝试pull代码的时候会弹出窗口要求输入用户名密码(只需要输入这一次就ok了):

    最后再次pull代码检查一下是否已经可以不用输入用户名密码:

    可以看到已经不再需要输入用户名密码了。就windows而言,这个凭据放在windows的凭据管理器中:

    整个过程可以这样描述:当配置credential.helper后,git在需要用户名密码时会首先向指定的凭据管理器查找凭据,如果凭据不存在(对应第一次pull),则弹窗提示用户输入用户名密码,然后凭据管理器会记录这个凭据;如果凭据存在(对应第二次pull),则直接使用该凭据进行对应的git动作。


另外补充一点,笔者使用的git安装工具(Git-2.15.1.2-64-bit)在安装时会默认帮我们把credential.helper设置成manager,除非我们在安装时下面这个默认勾选的配置被手动取消了:


1 个回复

倒序浏览
奈斯
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马