关于git的认证方式
之前对github的使用,形成了两种观点。就是有两种url的模式,一种是http或https的,另一种是git专属的。然后git专属的url方式可以配置公钥认证,http(s)的则需要输入密码。
近期公司团队搭建了gitlab,因为服务器的22端口被封锁的原因,git专属的url模式出现了超时的问题,只能是走http的方式。
我这边用的客户端是tortoise git,意外发现只是在第一次clone的时候需要输入密码,之后再pull,push 都能直接进行操作。
于是好奇用户名密码信息是保存到哪里,结果翻遍了git的配置文件及tortoise的配置界面也没找到配置用户名密码的地方。
在Settings->Git->Credential 里可以配置credential helper,看到是配置成了manager,以此为线索进行搜索。发现是Windows中的Control panel->Credential Manager来负责保存用户名密码信息。将git相关的两个条目删除之后,发现再次操作remote repository 果然需要输入密码。等输入密码之后,发现Windows中的credential manager中又重新生成了两条记录。
以上。
啦啦啦!!!