TortoiseGit保存用户名和密码的方法
TortoiseGit在提交或者pull时总会提示你输入用户名密码,非常麻烦,那如何解决呢?
1. 对于TortoiseGit 1.8.1.2及其后的版本,右键选择settings ——> Git ——> Credential,
里面有wincred-this repository only,wincred-current Windowsuser这些选项,按自己的需求,选中一个确定即可。
2. 还有一种方法是在C:\User\Administrator里面的.gitconfig文件里,让[credential]的helper = store,设置完后,输入一次密码就不会再要求输入,但是会生成一个.git-credentials文件,里面记录了你的用户名和密码,所以这种方法慎用。
如果没有这个文件就新建一个里面写上以下内容即可
[credential] helper = store
可选凭证存储模式
"cache" 模式
会将凭证存放在内存中一段时间。 密码永远不会被存储在磁盘中,并且在15分钟后从内存中清除。
"store" 模式
会将凭证用明文的形式存放在磁盘中,并且永不过期。 这意味着除非你修改了你在 Git 服务器上的密码,否则你永远不需要再次输入你的凭证信息。 这种方式的缺点是你的密码是用明文的方式存放在你的 home 目录下。
"osxkeychain" 模式
如果你使用的是 Mac,Git 还有一种 “osxkeychain” 模式,它会将凭证缓存到你系统用户的钥匙串中。 这种方式将凭证存放在磁盘中,并且永不过期,但是是被加密的,这种加密方式与存放 HTTPS 凭证以及 Safari 的自动填写是相同的。
"manager" 模式
如果你使用的是 Windows,你可以安装一个叫做 “Git Credential Manager for Windows” 的辅助工具。 这和上面说的 “osxkeychain” 十分类似,但是是使用 Windows Credential Store 来控制敏感信息。
推荐使用凭证存储模式 "manager"
在这里对比 "wincred" 和 "manager"的区别
相同点:
都会将用户信息存储到Windows凭据管理器中
不同点:
Windows凭据管理器中用户信息是否加密
"wincred" 模式下的用户信息展示如下
Internet 地址或网络地址:git:https://用户名@github.com;
用户名:真实用户名
"manager" 模式下的用户信息展示如下
Internet 地址或网络地址:git:https://github.com;
用户名:PersonalAccessToken
很明显,在用户信息暴露的情况下,其他人很容易通过 https://用户名@http://github.com 访问到路径对应的项目,为了避免这种风险的存在,我们可以安装 “Git Credential Manager for Windows” 的辅助工具。