git配置免密登录

git配置免密登录

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

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

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

git config -l|grep credential.helper

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

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

pull代码:
pull

push代码:
push

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

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

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

    git config credential.helper manager

    再次尝试pull代码的时候会弹出窗口要求输入用户名密码(只需要输入这一次就ok了):
    save
    最后再次pull代码检查一下是否已经可以不用输入用户名密码:
    check
    可以看到已经不再需要输入用户名密码了。就windows而言,这个凭据放在windows的凭据管理器中:
    凭据
    整个过程可以这样描述:当配置credential.helper后,git在需要用户名密码时会首先向指定的凭据管理器查找凭据,如果凭据不存在(对应第一次pull),则弹窗提示用户输入用户名密码,然后凭据管理器会记录这个凭据;如果凭据存在(对应第二次pull),则直接使用该凭据进行对应的git动作。

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

 
posted @ 2020-08-20 17:47  晨曦、  阅读(2494)  评论(0编辑  收藏  举报