git在CLI访问远程仓库有两种url
1 | ssh形式:git@github.com:username/reponame.git |
ssh形式
通过ssh访问远程仓库如github,需要设置ssh key pair,设置后做git操作不需要输入github的用户名和密码。所以如果clone仓库时使用的是ssh url,在CLI访问github就是用的ssh密钥对来做身份认证
http形式
http形式,每次在命令行做git操作,如git pull、git push都需要输入用户名和密码,为了简化这步操作,git有了凭证存储
,即把用户名和密码存储在本地机器上。
参见 Git工具-凭证存储 github-Which remote URL should I use
git-for-windows安装时选择凭证管理
git-for-windows安装时可以选择credential helper
https用了ssl/tls来加密
查看配置 credential.helper的值
下面的命令可以输入git所有的配置及所在文件
1 | git config --list --show-origin |
用git config –list |grep credential.helper 查看所有的值
下面这个错误是由于使用了网络代理
git credential fill
参见https://git-scm.com/book/zh/v2/Git-%E5%B7%A5%E5%85%B7-%E5%87%AD%E8%AF%81%E5%AD%98%E5%82%A8
凭证管理
取消凭证管理
用以下命令可以取消三级配置的credential.helper,然后做git操作需要输入username和password
1 | git config --system --unset credential.helper |
恢复凭证管理需要用下面的命令,这只配置了两级,global级的会覆盖system级的值,
用git config –local credential.helper value 可以配置当前仓库的。
1 | git config --system credential.helper manager-core |
windows凭证管理
使用凭证管理后,这些凭证存在windows凭证管理器里,如果手动删除了凭证,使用git操作会提示需要登录